You are on page 1of 9

Programar un laberinto en JAVA

Java es un lenguaje de programación que permite crear diseños de interfaces ya


que es un lenguaje orientado a objetos, de igual manera permite diseñar pequeños
“juegos” los cuales son entretenidos tanto en su desarrollo como en su ejecución.
En este curso se va a realizar un pequeño juego de un laberinto del que la interfaz
puede ser como la siguiente o bien puede quedar con un diseño distinto según se
quiera modificar:

Para poder iniciar con el desarrollo de este pequeño juego primeramente se tiene
que iniciar el IDE de NetBeans, para esto se tiene que ir al menú inicio y buscar la
carpeta que diga NetBeans:
Posteriormente se dará clic en la aplicación para que esta se pueda iniciar, ya una
vez dentro de la interfaz de la aplicación tendremos que crear un proyecto nuevo,
esto dando clic en el icono señalado a continuación:

Después de eso se mostrará un recuadro en el cual se tiene que especificar que


tipo de proyecto crearemos, ahí se elige la categoría de “java” y en el apartado de
proyectos la opción que diga “java Aplication” y damos clic en siguiente.
Después tendremos que darle un nombre al proyecto el cual será el siguiente:
“Laberinto”, al hacer esto de igual manera se creara una clase de tipo main, la cual
será la clase principal para poder ejecutar el programa una vez que este se
encuentre terminado.
Ahora que ya está creada la clase principal tendremos que copiar las siguientes
líneas de código (recuerda revisar cómo está estructurado el código y donde va
cada signo de puntuacion):

package Laberinto1;
import java.awt.*;
/**
*
* @author Brandon
*/
public class Laberinto1 {
static Frame Ventana = new Frame("LABERINTO");
static Button btnIniciar = new Button();
static Button btnDetener = new Button();
static Dibujar objDibujar = new Dibujar();
static TextField txtTexto = new TextField(20);
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Ventana.setSize(1000,1000);
btnIniciar.setLabel("Iniciar o Continuar");
btnDetener.setLabel("Detener");
Ventana.add(btnIniciar, BorderLayout.NORTH);
Ventana.add(btnDetener, BorderLayout.SOUTH);
Ventana.add(objDibujar);
Ventana.setVisible(true);

txtTexto.setText("No se detecto colision");


txtTexto.setBounds(100,380,250,30);
Ventana.add(txtTexto);
Ventana.addWindowListener
(new java.awt.event.WindowAdapter(){
public void windowClosing (java.awt.event.WindowEvent e){
System.exit(0);
}
}
);
btnIniciar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
objDibujar.Iniciar();
}
}
);
btnDetener.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
objDibujar.Detener();
}
}
);

}
static void ValidaColision(){
if(objDibujar.ChequeaColision())
txtTexto.setText("Hubo colision");
else
txtTexto.setText("No se detecta colision");
}
}

Posteriormente se tiene que crear una clase nueva llamada “Dibujar” la cual es la
que contendrá el código del diseño, para crear dicha clase se tiene que dar clic
secundario en el proyecto, elegir la opción de “nuevo” y posteriormente
seleccionar la opción que diga, “java class”.
Una vez hecho lo anterior ahora tendremos que copiar el código siguiente:
package Laberinto1;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author Brandon
*/
public class Dibujar extends Canvas implements Runnable, MouseMotionListener,
MouseListener, KeyListener {
Thread objHilo;

boolean Ejecuta = false;


int PosX=10, PosY=10;

int IncX=1, IncY=1;


int Diametro = 40;

int PosXMouse, PosYMouse;


public Dibujar(){
addMouseMotionListener(this);
addMouseListener(this);
addKeyListener(this);
}

public void run(){


while(Ejecuta){
repaint();
try{Thread.sleep(3);} catch (InterruptedException E){}

}
}
public void paint(Graphics objGrafico){
PosX+=IncX;
PosY+=IncY;

objGrafico.setColor(Color.ORANGE);
objGrafico.fillOval(PosX, PosY, Diametro, Diametro);

objGrafico.setColor(Color.green);
objGrafico.drawLine(100,350,50,350);
objGrafico.drawLine(400,400,400,350);
objGrafico.drawLine(400,350,600,350);
objGrafico.drawLine(450,400,450,450);
objGrafico.drawLine(450,450,50,450);
objGrafico.drawLine(50,650,750,650);
objGrafico.drawLine(900,500,950,500);
objGrafico.drawLine(950,500,950,100);
objGrafico.drawLine(950,100,750,100);
objGrafico.drawLine(700,200,700,50);
objGrafico.drawLine(650,250,800,250);
objGrafico.drawLine(900,250,800,250);
objGrafico.drawLine(700,450,700,600);
objGrafico.drawLine(700,600,300,600);
objGrafico.drawLine(100,600,100,500);
objGrafico.drawLine(400,300,400,250);
objGrafico.drawLine(400,250,550,250);
objGrafico.drawLine(350,350,150,350);
objGrafico.drawLine(150,350,150,100);
objGrafico.drawLine(450,450,500,450);
objGrafico.drawLine(850,450,500,450);
objGrafico.setFont(new Font("Arial",Font.BOLD,20));
objGrafico.setColor(Color.GREEN);
objGrafico.drawString("Inicio Suerte",10,50);

objGrafico.drawLine(450,450,500,450);
objGrafico.setFont(new Font("Arial",Font.BOLD,20));
objGrafico.setColor(Color.green);
objGrafico.drawString("gano",920,600);
if(PosXMouse < PosX) IncX=-1; else IncX=1;
if(PosYMouse < PosY) IncY=-1; else IncY=1;

}
public void update(Graphics objGrafico){

Graphics NoVisible;
Image Imagen = null;

Rectangle Rectangulo = objGrafico.getClipRect();


Imagen = createImage(Rectangulo.width, Rectangulo.height);
NoVisible=Imagen.getGraphics();

NoVisible.setColor(getBackground());
NoVisible.fillRect(0,0 ,Rectangulo.width, Rectangulo.height);
NoVisible.setColor(getForeground());

NoVisible.translate(-Rectangulo.x, -Rectangulo.y);
paint(NoVisible);

objGrafico.drawImage(Imagen, 0 ,0 ,this);

}
public void Iniciar(){
if(Ejecuta == false){
objHilo = new Thread(this);
Ejecuta= true;
objHilo.start();
}
}
public void Detener(){
Ejecuta= false;
}

public void mouseMoved(MouseEvent objMouse){


PosXMouse= (int) objMouse.getPoint().getX();
PosYMouse= (int) objMouse.getPoint().getY();

}
public void mouseDragged (MouseEvent objMouse){}
public void mousePressed (MouseEvent objMouse){}
public void mouseClicked (MouseEvent objMouse){}
public void mouseEntered (MouseEvent objMouse){}
public void mouseExited (MouseEvent objMouse){}
public void mouseReleased (MouseEvent objMouse){}

public void keyTyped (KeyEvent e){}


public void keyPressed (KeyEvent e){}
public void keyReleased(KeyEvent e){}

boolean ChequeaColision(){
return false;
}
}
Una vez que ninguna clase nos marque algún error ya podremos ejecutar el
programa y poder jugar con el laberinto que acabamos de crear.

You might also like