Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/06/2012, 19:44
digiimportscr
 
Fecha de Ingreso: junio-2012
Mensajes: 1
Antigüedad: 12 años, 4 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!