Tengo que hacer un PACMAN y me encuentro algo colgada... ya que mi PACMAN aunque se mueve por la matriz no consigue ver paredes...
Os cuelgo el código a ver si me podéis ayudar... Se supone que en el valor de la matriz 0 es cuando hay pared, y el resto... el resto de cosillas..
Código:
. import java.awt.*; import javax.swing.*; import java.util.*; import java.awt.event.KeyEvent; import javax.swing.JDialog; import javax.swing.JOptionPane; public class Pacman { String nImagen; Image imagen; int x,y,dx,dy,width,height,fila,columna,reg,posX,posY; boolean exito; Mapa mapa; int [][] tramado; public String move; int aux=1; Tablero tablero; public Pacman(Mapa mapa) { this.mapa=mapa; fila=1; columna=8; nImagen="pacman.jpg"; tramado= new int[11][20]; ImageIcon img= new ImageIcon ( this.getClass().getResource(nImagen)); imagen=img.getImage(); width=imagen.getWidth(null); height=imagen.getHeight(null); crearTramado(tramado); } public Rectangle getSize() { return new Rectangle (x,y, width,height); } public Image getImage() { return imagen; } public void crearTramado (int [][] tramado) { for (int i=0; i<tramado.length; i++) { for (int j=0; j<tramado[i].length; j++) { tramado[i][j]=mapa.getMap(i,j); //System.out.print(tramado[i][j]); } } } public int getFila() { return fila; } public int getColumna () { return columna; } public void checkMovimientos (String movimiento,int [][]tramado) { fila=getFila(); columna=getColumna(); switch (movimiento) { case "i": System.out.print(tramado[fila][columna]); if (tramado[fila][columna--]!=0) { tramado[fila][columna]=4; } break; /* case "d": if (tramado[fila][columna]!=1) { tramado[fila][columna++]=4; } break; case "a": if (tramado[fila][columna]!=1) { System.out.print(fila); //tramado[fila--][columna]=4; } break;*/ case "b": if (tramado[fila--][columna]!=0) { //System.out.print(fila); //System.out.print(columna); tramado[fila++][columna]=4; //System.out.print(fila,columna); } else { //System.out.print(fila); } break; default: } } public void keyPressed (KeyEvent e) { int key=e.getKeyCode(); switch(key) { case KeyEvent.VK_LEFT: move="i"; checkMovimientos(move,tramado); break; case KeyEvent.VK_RIGHT: move="d"; checkMovimientos(move,tramado); break; case KeyEvent.VK_UP: move="a"; checkMovimientos(move,tramado); break; case KeyEvent.VK_DOWN: move="b"; checkMovimientos(move,tramado); break; default: } } public void keyReleased (KeyEvent e) { int key=e.getKeyCode(); switch(key) { case KeyEvent.VK_LEFT: dx=0; break; case KeyEvent.VK_RIGHT: dx=0; break; case KeyEvent.VK_UP: dy=0; break; case KeyEvent.VK_DOWN: dy=0; break; default: } } }