sábado, 30 de noviembre de 2013
jueves, 21 de noviembre de 2013
Juego Tron :D
El código el juego :)
Animacion:
import java.awt.Image;
import java.util.ArrayList;
public class Animacion {
private ArrayList scenas;
private int scenaIndex;
private long tiempoPeli;
private long tiempoTotal;
public Animacion(){
scenas = new ArrayList();
tiempoTotal = 0;
iniciar();
}
public synchronized void agregarScena(Image i, long t){
tiempoTotal += t;
scenas.add(new unaScena(i,tiempoTotal));
}
public synchronized void iniciar(){
tiempoPeli = 0;
scenaIndex = 0;
}
public synchronized void actializar(long timePassed){
if(scenas.size()>1){
tiempoPeli += timePassed;
if(tiempoPeli>=tiempoTotal){
tiempoPeli = 0;
scenaIndex = 0;
}
while(tiempoPeli > getScena(scenaIndex).tiempoFuera){
scenaIndex++;
}
}
}
public synchronized Image getImagen(){
if(scenas.size()==0)
{
return null;
}else{
return getScena(scenaIndex).pic;
}
}
private unaScena getScena(int x){
return (unaScena)scenas.get(x);
}
private class unaScena{
Image pic;
long tiempoFuera;
public unaScena(Image pic,long tiempoFuera){
this.pic = pic;
this.tiempoFuera = tiempoFuera;
}
}
}
Nucleo:
import java.awt.*;
import java.awt.image.BufferedImage;
public abstract class Nucleo {
private static final DisplayMode modes[] = {
//new DisplayMode(1920,1080,32,0),
new DisplayMode(1680,1050,32,0),
//new DisplayMode(1280,1024,32,0),
new DisplayMode(800,600,32,0),
new DisplayMode(800,600,24,0),
new DisplayMode(800,600,16,0),
new DisplayMode(640,480,32,0),
new DisplayMode(640,480,24,0),
new DisplayMode(640,480,16,0),
};
private boolean corriendo;
protected Ventana sm;
public void stop(){
corriendo = false;
}
public void run(){
try{
init();
gameLoop();
}finally{
sm.restoreScreen();
}
}
public void init(){
sm = new Ventana();
DisplayMode dm = sm.findFirstCompatibaleMode(modes);
sm.setFullScreen(dm);
Window w = sm.getFullScreenWindow();
w.setFont(new Font("Arial",Font.PLAIN,20));
w.setBackground(Color.WHITE);
w.setForeground(Color.RED);
w.setCursor(w.getToolkit().createCustomCursor(new BufferedImage(3, 3, BufferedImage.TYPE_INT_ARGB), new Point(0, 0),"null"));
corriendo = true;
}
public void gameLoop(){
long startTime = System.currentTimeMillis();
long cumTime = startTime;
while (corriendo){
long timePassed = System.currentTimeMillis()-cumTime;
cumTime+= timePassed;
update(timePassed);
Graphics2D g = sm.getGraphics();
draw(g);
g.dispose();
sm.update();
try{
Thread.sleep(20);
}catch(Exception ex){}
}
}
public void update(long timePassed){}
public abstract void draw(Graphics2D g);
}
Ventana:
import java.awt.*;import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
public class Ventana {
private GraphicsDevice vc;
public Ventana(){
GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment();
vc = e.getDefaultScreenDevice();
}
public DisplayMode[] getCompatibleDisplayModes(){
return vc.getDisplayModes();
}
public DisplayMode findFirstCompatibaleMode(DisplayMode[] modes){
DisplayMode goodModes[] = vc.getDisplayModes();
for(int x = 0; x<modes.length;x++){
for(int y = 0;y<goodModes.length;y++){
if(displayModesMatch(modes[x],goodModes[y])){
return modes[x];
}
}
}
return null;
}
public DisplayMode getCurrentDM(){
return vc.getDisplayMode();
}
public boolean displayModesMatch(DisplayMode m1, DisplayMode m2){
if(m1.getWidth() != m2.getWidth() || m1.getHeight() != m2.getHeight()){
return false;
}
if(m1.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI && m2.getBitDepth() != DisplayMode.BIT_DEPTH_MULTI && m1.getBitDepth() != m2.getBitDepth()){
return false;
}
if(m1.getRefreshRate() != DisplayMode.REFRESH_RATE_UNKNOWN && m2.getRefreshRate() != DisplayMode.REFRESH_RATE_UNKNOWN && m1.getRefreshRate() != m2.getRefreshRate()){
return false;
}
return true;
}
public void setFullScreen(DisplayMode dm){
JFrame f = new JFrame();
f.setUndecorated(true);
f.setIgnoreRepaint(true);
f.setResizable(false);
vc.setFullScreenWindow(f);
if(dm != null && vc.isDisplayChangeSupported()){
try{
vc.setDisplayMode(dm);
}catch(Exception ex){}
f.createBufferStrategy(2);
}
}
public Graphics2D getGraphics(){
Window w = vc.getFullScreenWindow();
if(w != null){
BufferStrategy bs = w.getBufferStrategy();
return (Graphics2D)bs.getDrawGraphics();
}
else{
return null;
}
}
public void update(){
Window w = vc.getFullScreenWindow();
if(w != null){
BufferStrategy bs = w.getBufferStrategy();
if(!bs.contentsLost()){
bs.show();
}
}
}
public Window getFullScreenWindow(){
return vc.getFullScreenWindow();
}
public int getWidth(){
Window w = vc.getFullScreenWindow();
if(w != null){
return w.getWidth();
}else{
return 0;
}
}
public int getHeight(){
Window w = vc.getFullScreenWindow();
if(w != null){
return w.getHeight();
}else{
return 0;
}
}
public void restoreScreen(){
Window w = vc.getFullScreenWindow();
if(w != null){
w.dispose();
}
vc.setFullScreenWindow(null);
}
public BufferedImage createCompatibaleimage(int w, int h, int t){
Window win = vc.getFullScreenWindow();
if(win != null){
GraphicsConfiguration gc = win.getGraphicsConfiguration();
return gc.createCompatibleImage(w,h,t);
}else{
return null;
}
}
}
Main:
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.Stroke;
import java.awt.Window;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;
public class Main extends Nucleo implements KeyListener, MouseListener, MouseMotionListener {
int centrex1 = 40;
int centrey1 = 40;
int centrex2 = 600;
int centrey2 = 440;
int currentDirection1 = 1;
int currentDirection2 = 3;
int moveAmount = 5;
ArrayList<Integer> pathx1 = new ArrayList();
ArrayList<Integer> pathy1 = new ArrayList();
ArrayList<Integer> pathx2 = new ArrayList();
ArrayList<Integer> pathy2 = new ArrayList();
public void init() {
super.init();
Window w = sm.getFullScreenWindow();
w.addKeyListener(this);
w.addMouseListener(this);
w.addMouseMotionListener(this);
}
public static void main(String[] args) {
new Main().run();
}
public void draw(Graphics2D g) {
switch(currentDirection1){
case 0:
if (centrey1>0){
centrey1-=moveAmount;
} else {
centrey1 = sm.getHeight();
}
break;
case 1:
if (centrex1 < sm.getWidth()){
centrex1+=moveAmount;
} else {
centrex1 = 0;
}
break;
case 2:
if (centrey1 < sm.getHeight()){
centrey1+=moveAmount;
} else {
centrey1 = 0;
}
break;
case 3:
if (centrex1>0){
centrex1-=moveAmount;
} else {
centrex1 = sm.getWidth();
}
break;
}
switch(currentDirection2){
case 0:
if (centrey2>0){
centrey2-=moveAmount;
} else {
centrey2 = sm.getHeight();
}
break;
case 1:
if (centrex2 < sm.getWidth()){
centrex2+=moveAmount;
} else {
centrex2 = 0;
}
break;
case 2:
if (centrey2 < sm.getHeight()){
centrey2+=moveAmount;
} else {
centrey2 = 0;
}
break;
case 3:
if (centrex2>0){
centrex2-=moveAmount;
} else {
centrex2 = sm.getWidth();
}
break;
}
for (int x = 0;x<pathx1.size();x++){
if (((centrex1 == pathx1.get(x)) && (centrey1 == pathy1.get(x))) || ((centrex2 == pathx2.get(x)) && (centrey2 == pathy2.get(x))) || ((centrex1 == pathx2.get(x)) && (centrey1 == pathy2.get(x))) || ((centrex2 == pathx1.get(x)) && (centrey2 == pathy1.get(x)))){
System.exit(0);
}
}
pathx1.add(centrex1);
pathy1.add(centrey1);
pathx2.add(centrex2);
pathy2.add(centrey2);
g.setColor(Color.BLACK);
g.fillRect(0, 0, sm.getWidth(), sm.getHeight());
for (int x = 0;x<pathx1.size();x++){
g.setColor(Color.green);
g.fillRect(pathx1.get(x), pathy1.get(x), 10, 10);
g.setColor(Color.red);
g.fillRect(pathx2.get(x), pathy2.get(x), 10, 10);
}
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_UP) {
if (currentDirection1 != 2){
currentDirection1 = 0;
}
} else if (e.getKeyCode() == KeyEvent.VK_DOWN) {
if (currentDirection1 != 0){
currentDirection1 = 2;
}
} else if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
if (currentDirection1 != 3){
currentDirection1 = 1;
}
} else if (e.getKeyCode() == KeyEvent.VK_LEFT) {
if (currentDirection1 != 1){
currentDirection1 = 3;
}
}
if (e.getKeyCode() == KeyEvent.VK_W){
if (currentDirection2 != 2){
currentDirection2 = 0;
}
} else if (e.getKeyCode() == KeyEvent.VK_S) {
if (currentDirection2 != 0){
currentDirection2 = 2;
}
} else if (e.getKeyCode() == KeyEvent.VK_D) {
if (currentDirection2 != 3){
currentDirection2 = 1;
}
} else if (e.getKeyCode() == KeyEvent.VK_A) {
if (currentDirection2 != 1){
currentDirection2 = 3;
}
}
}
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent arg0) {
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent arg0) {
}
public void mouseExited(MouseEvent arg0) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
}
public void mouseMoved(MouseEvent e) {
}
}
domingo, 8 de septiembre de 2013
MODELO OSI
El modelo OSI(Open Systems Interconnected) surgió de la necesidad de estandarizar las
comunicaciones entre los equipos desarrollado por la ISO(International Standaring Organized); Esta constituidos por
paquetes de bits.
EL modelo OSI está constituido por capas las cuales son:
- Aplicación: Es la que proporciona los servicios
- Presentación: Realiza el formato de datos para que sea entendible por el lector
- Sesión: Establece la comunicación
- Transporte: Controla el flujo de información
- Red: Establece la ruta entre los ordenadores
- Enlace de Datos: Transferencia de los datos
- Física: Son los cables, conectores, la velocidad de datos.
Diferencias entre el modelo OSI y TCP/IP
El modelo TCP/IP solo tiene 4 capas:
- Aplicación
- Transporte
- Internet
- Acceso a las red
Se combinan las capas de presentación, sesión y aplicación; La de enlace de datos y la capa física
William Marín Moreno(2003). Sistemas Distribuidos.Facultad de Ingeniería Universidad de Londres.
domingo, 25 de agosto de 2013
TOPOLOGÍAS DE REDES
Bus:
Esta topología permite que todas las computadoras reciban la informaciónque se transmite.
Ventajas: La topologia Bus requiere de menor cantidad de cables; otra de las ventajas de esta topologia es que si una falla no incapacitara el resto de la red.
Desventajas: al existir un solo canal de comunicación, si falla el canal, las restantes quedan incomunicadas.
Anillo:
Las computadoras están unidas una con otra formando un círculo por medio de un cable común. Las señales circulan en un solo sentido alrededor del círculo, regenerándose en cada nodo.Ventajas: los cuellos de botellas son muy pocos frecuentes.
Desventajas: al existir un solo canal de comunicación entre las computadoras, si falla el canal o una estación, las restantes quedan incomunicadas.
Es muy compleja su administración, ya que hay que definir una computadora para que controle el token.
Malla:
En una topología en malla, cada dispositivo tiene un enlace punto a punto y dedicado con cualquier otro dispositivo.Ventajas:el uso de los enlaces dedicados garantiza que cada conexión sólo debe transportar la carga de datos propia de los dispositivos conectados, eliminando el problema que surge cuando los enlaces son compartidos por varios dispositivos. Si un enlace falla, no inhabilita todo el sistema.
Desventaja: La cantidad de tráfico que deberá soportar es grande y aumentará conforme vayamos agregando más nodos periféricos, lo que la hace poco recomendable para redes de gran tamaño.
Estrella:
En la topología en estrella cada dispositivo solamente tiene un enlace punto a punto dedicado con el controlador central, habitualmente llamado concentrador.La topología en estrella no permite el tráfico directo de dispositivos.
El controlador actúa como un intercambiador: si un dispositivo quiere enviar datos a otro, envía los datos al controlador, que los retransmite al dispositivo final.
Ventajas: Posibilidad de desconectar elementos de red sin causar problemas.
Facilidad para la detección de fallo y su reparación.
Desventajas: Un fallo en el concentrador provoca el aislamiento de todos los nodos a él conectados.
Tanenbaum S. Andrew(2003). Redes de computadoras. 4ª edición. Pearson Education.
Íñigo Jordi, Barceló Jose Maria, Cerdá Llorenς, Peig Enric, Abella Jaume & Corral Guiomar(2008). Estructura de redes de computadora. 1ª edición.Carrera Edició, S.L.
TIPOS DE REDES
Red de Área Local (LAN)
Se trata de una red que cubre una extensión reducida como una empresa, una universidad, un colegio, etc.Una configuración típica en una red de área local es tener una computadora llamada servidor de ficheros en la que se almacena todo el software de control de la red así como el software que se comparte con los demás computadores.
Los computadores que no son servidores reciben el nombre de estaciones de trabajo, suelen ser menos potentes y tener software personalizado.
Red de Área Metropolitana (MAN)
Las redes de área metropolitana cubren extensiones mayores como una ciudad o localidad. Mediante la interconexión de redes LAN se distribuye la información a los diferentes puntos. Bibliotecas, universidades u organismos oficiales suelen interconectarse mediante este tipo de redes.Redes de Area Extensa (WAN)
Las redes de área extensa cubren grandes regiones geográficas como un país, un continente o incluso el mundo. Cable transoceánico o satélites se utilizan para enlazar puntos que distan grandes distancias entre sí. Se utilizan multiplexadores para conectar las redes metropolitanas a redes globales utilizando técnicas que permiten que redes de diferentes características puedan comunicarse sin problemas. El mejor ejemplo de una red de área extensa es Internet.Groth, David; Skandier, Toby (2005). Guía del estudio de redes. 4ª edición. Sybex, Inc.
Tanenbaum S. Andrew(2003). Redes de computadoras. 4ª edición. Pearson Education.
REDES
Una red de computadoras, también llamada red de ordenadores, es un conjunto de equipos informáticos conectados entre sí por medio de dispositivos físicos que envían y reciben impulsos eléctricos, ondas electromagnéticas o cualquier otro medio para transportar datos con la finalidad de compartir información y recursos.La finalidad principal para la creación de una red es compartir recursos e información, asegurar la confiabilidad y la disponibilidad de la información, aumentar la velocidad de transmisión de los datos y reducir el coste general de estas acciones.
Para comunicarse entre sí en una red el sistema de red utiliza protocolos de red.
Por extensión las redes pueden ser:
*Área de red local (LAN)
*Área de red metropolitana (MAN)
*Área de red amplia (WAN)
*Área de red personal (PAN)
Por relación funcional se clasifican en:
*Cliente/Servidor
*igual-a-igual (P2P)
Por topología:
*red alambrada
*red de anillo
*red de bus
*red de bus-estrella
*red de estrella
*red Mesh
Por estructura:
Red OSI
Red TCP/IP
Groth, David; Skandier, Toby (2005). Guía del estudio de redes. 4ª edición. Sybex, Inc..
Tanenbaum, Andrew S. (2003) Redes de computadora. 4ª edición. Pearson Educación.
domingo, 18 de agosto de 2013
La comunicación es un medio de conexión para transmitir o intercambiar mensajes. Lo que hacemos es establecer una conexión con el fin de dar, recibir o intercambiar ideas, información o algún significado.
Llegar a compartir algo de nosotros mismos, es una cualidad racional y emocional específica del hombre que surge de la necesidad de ponerse en contacto con los demás; La transmisión verbal o no verbal de información entre alguien que quiere expresar una idea y quien espera captarla o se espera que la capte.
Es el proceso por el cual intercambiamos o compartimos significados mediante un conjunto común de símbolos.
Es el intercambio de información entre personas; Volver común un mensaje o una información. Constituye uno de los procesos fundamentales de la experiencia humana y la organización social.
Comunicación es la transferencia y la comprensión de significados.
La comunicación es el proceso mediante el cual el emisor y el receptor establecen una conexión para transmitir, intercambiar o compartir ideas, información o significados que son comprensibles para ambos.
Fonseca Yerena Maria del Socorro (2000). Comunicación Oral Fundamentos y Práctica Estratégica. Pág. 4. Primera Edición. México: Pearson Educación.
Stanton William, Etzel Michael & Walker Bruce (2007). Fundamentos de Marketing. Pág. 511. Decimocuarta Edición. McGraw-Hill Interamericana,
Hair Joseph & Mc Daniel Carl (2006). Marketing. Pág. 484. Octava Edición. Lamb Charles International Thomson Editores.
Chiavenato Idalberto (2006). Introducción a la Teoría General de la Administración. Pág. 110. Séptima Edición. McGraw-Hill Interamericana.
Robbins Stephen y Coulter Mary (2005). Administración. Pág.256. Octava Edición. Pearson Educación de México.
Llegar a compartir algo de nosotros mismos, es una cualidad racional y emocional específica del hombre que surge de la necesidad de ponerse en contacto con los demás; La transmisión verbal o no verbal de información entre alguien que quiere expresar una idea y quien espera captarla o se espera que la capte.
Es el proceso por el cual intercambiamos o compartimos significados mediante un conjunto común de símbolos.
Es el intercambio de información entre personas; Volver común un mensaje o una información. Constituye uno de los procesos fundamentales de la experiencia humana y la organización social.
Comunicación es la transferencia y la comprensión de significados.
La comunicación es el proceso mediante el cual el emisor y el receptor establecen una conexión para transmitir, intercambiar o compartir ideas, información o significados que son comprensibles para ambos.
Fonseca Yerena Maria del Socorro (2000). Comunicación Oral Fundamentos y Práctica Estratégica. Pág. 4. Primera Edición. México: Pearson Educación.
Stanton William, Etzel Michael & Walker Bruce (2007). Fundamentos de Marketing. Pág. 511. Decimocuarta Edición. McGraw-Hill Interamericana,
Hair Joseph & Mc Daniel Carl (2006). Marketing. Pág. 484. Octava Edición. Lamb Charles International Thomson Editores.
Chiavenato Idalberto (2006). Introducción a la Teoría General de la Administración. Pág. 110. Séptima Edición. McGraw-Hill Interamericana.
Robbins Stephen y Coulter Mary (2005). Administración. Pág.256. Octava Edición. Pearson Educación de México.
viernes, 9 de agosto de 2013
Suscribirse a:
Entradas (Atom)
