Professional Documents
Culture Documents
the size of the maze and the solution to the generated maze.
Quiero un programa Java swing que genere laberintos aleatorios para que los usuarios los
resuelvan y les permita especificar el tamaño del laberinto y la solución del laberinto generado.
package Laberinto1;
import java.awt.*;
/**
* @author Brandon
*/
/**
*/
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");
Ventana.add(txtTexto);
Ventana.addWindowListener
(new java.awt.event.WindowAdapter(){
System.exit(0);
);
btnIniciar.addActionListener(new java.awt.event.ActionListener() {
objDibujar.Iniciar();
);
btnDetener.addActionListener(new java.awt.event.ActionListener() {
objDibujar.Detener();
);
if(objDibujar.ChequeaColision())
txtTexto.setText("Hubo colision");
else
}
}
Segunda parte
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;
publicDibujar(){
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);
Ejecuta= false;
boolean ChequeaColision(){
return false;
Una vez que ninguna clase nos marque algún error ya podremos ejecutar elprograma y poder jugar
con el laberinto que acabamos de crear.
OTROOO
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
this.tamañoLaberinto = tamañoLaberinto;
setTitle("Laberinto Generator");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setLayout(new GridLayout(tamañoLaberinto, tamañoLaberinto));
generarLaberinto();
dibujarLaberinto();
mostrarLaberinto();
pack();
setLocationRelativeTo(null);
setVisible(true);
casilla.setOpaque(true);
casilla.setHorizontalAlignment(JLabel.CENTER);
if (laberinto[i][j] == 'P') {
casilla.setBackground(Color.GREEN);
casilla.setBackground(Color.RED);
} else {
casilla.setBackground(Color.WHITE);
casillas[i][j] = casilla;
add(casilla);
casillas[i][j].setText(String.valueOf(laberinto[i][j]));