Foros del Web » Programación para mayores de 30 ;) » Java »

Juego de laberinto en java

Estas en el tema de Juego de laberinto en java en el foro de Java en Foros del Web. Hola! Todo bien gente? Es que resulta que tengo un ejercicio en Java que no sé cómo resolver, le he dado vueltas y vueltas y ...
  #1 (permalink)  
Antiguo 19/06/2012, 19:44
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Juego de laberinto en java

Hola! Todo bien gente?

Es que resulta que tengo un ejercicio en Java que no sé cómo resolver, le he dado vueltas y vueltas y no logro descrifrarlo...

Tengo que hacer un juego en Java que permita jugar al laberinto. El programa debe "leer el laberinto" desde un archivo de texto plano (las paredes, la entrada, el camino, etc.). Ya logré pasar del archivo de texto a una matriz, y de esta matriz desplegar el laberinto en una pantalla. El código que tengo actualmente es el siguiente:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;



public class principal extends JFrame {

bloque [][] matriz;

public void llena()
{
int i=0;
int j=0;
char d;

try
{

File arch =new File("Laberinto.txt");

FileReader archin=new FileReader(arch);
int caracter = 'L';

while (true)
{
caracter=archin.read();



if ((char)caracter=='P' || (char)caracter=='L' || (char)caracter=='E' ||(char)caracter=='S' )
{
if (caracter=='P')
matriz[j][i]=new pared(j,i);

if (caracter=='L')
matriz[j][i]=new espacio(j,i);

if (caracter=='E')
{
matriz[j][i]=new Inicio(j,i);
}

if (caracter=='S')
matriz[j][i]=new Fin(j,i);

j++;
if (j>39)
{
i++;
j=0;
}

}

if (caracter==-1)
break;


}


archin.close();
}catch(Exception e){}
}


public void emprime(Graphics g)
{
for (int a=0; a<matriz.length; a++)
{
for (int b=0; b<matriz.length; b++)
if(matriz[a][b]!=null)
matriz[a][b].dibujar(g);
}

}

public principal()
{
super("Juego de Laberinto");

getContentPane().setBackground(Color.white);
setSize(830,860);
matriz = new bloque[40][40];
llena();
setVisible(true);
}


public void paint(Graphics g)
{

super.paint(g);
emprime(g);

}

public static void main(String []arrg)
{

principal Laberinto=new principal();

Laberinto.setDefaultCloseOperation(JFrame.EXIT_ON_ CLOSE);
}

}



Lo que no sé ahora es cómo hago para poner un cubito por ejemplo, que se vaya moviendo conforme el usuario presiona las teclas de las flechas... Se que hay que usar un keyListener o algo así investigué, pero ni idea de como programarlo...


Alguno me puede dar una ayudita por favor? Se lo agradecería mucho.

Gracias de antemano!
  #2 (permalink)  
Antiguo 21/06/2012, 00:31
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años, 7 meses
Puntos: 69
Respuesta: Juego de laberinto en java

ando de paso pero para mover el cubito puedes como dices usar el keyListener, mientras la tecla este preisonada se incrementan o decrementan (dependiendo de a donde debe moverse y que flecha es la presionada) sus valores en x e y..... Tal vez necesites hacer esto en un hilo aparte del mainThread...
__________________
De nada, hay te encargo +1...

Etiquetas: jar, juego, laberinto, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:03.