RSSYoutubeTuenti
20 minutos
beta Se habla de:

Foro de Vandal

Página 1 - 1

Ayudita con java

lordimor
Lugar: Gijón · 879 mensajes · Colección
#1  Enviado: 17:21 07/01/2012  Editado: 17:21 07/01/2012 (1 vez)

Veréis, estoy haciendo un juego para clase, y creo que he localizado dónde está el error, pero no entiendo el porqué.
Siempre acaba entrando en dirección incorrecta. He probado metiendo yo manualmente como parámetro la dirección y funciona.

if ((ganar()==0)&&(posicioncorrecta(fila,columna))){
JOptionPane.showMessageDialog(null, String.format("Entra"));
String mover=JOptionPane.showInputDialog("Introduce la dirección: (F)orward-(B)ack-(L)eft-(R)ight");

if(direccioncorrecta(mover,fila,columna)){
JOptionPane.showMessageDialog(null, String.format("Entra"));
jugada(fila,columna,mover);
}
else{
JOptionPane.showMessageDialog(null, String.format("Dirección incorrecta"));

}}

-----------
PASTEL DE MORA.
#2  Enviado: 18:52 07/01/2012

He probado metiendo yo manualmente como parámetro la dirección y funciona.


Entonces tienes localizado el problema. Quizá esté en alguna función que maneja incorrectamente la dirección, o en la que la recoge. No puedo ayudarte más sin analizar el código, y no lo voy a hacer .

Utilizando un depurador gráfico y ejecutando el código línea a línea sabrás exactamente donde falla.

-----------
The last metroid is in captivity... The galaxy, is at peace.
#3  Enviado: 18:56 07/01/2012

Por el código que has puesto y por el error que dices que tienes llegamos a la siguiente conclusión: -La función direccioncorrecta(mover,fila,columna) devuelve false cuando no devería XD. Esto puede pasar por dos motivos:
a) la función direccioncorrecta esta mal
b) los parámetros que pasas: mover, fila o columna no tienen el valor que deverían tener en ese mismo instante.

Solución?: System.out.println(".....") y a buscar qué coño pasa.

-----------
Ah alerta....
lordimor
Lugar: Gijón · 879 mensajes · Colección
#4  Enviado: 19:00 07/01/2012

Lo he solucionado de una manera muy rara, y al final resultó estar bien los métodos, pero lo que hice no me convence:

char mover[]=JOptionPane.showInputDialog("Introduce la dirección: (F)rriba-A(B)ajo-(L)zquierda-(R)erecha").toCharArray();
String a=""+mover[0];
String b="";
if (a.equals("l")||a.equals("L")){
b="l";}
else{ if(a.equals("r")||a.equals("R")){
b="r";}
else{if(a.equals("f")||a.equals("F")){
b="f";}
else{if(a.equals("b")||a.equals("B")){
b="b";
}}
}}


if(direccioncorrecta(b,fila,columna)){
JOptionPane.showMessageDialog(null, String.format("Entra"));
jugada(fila,columna,b);
repaint();

-----------
PASTEL DE MORA.
Página 1 - 1
Buscar en el foro: En foro: Tipo:
Contactar
Foro de Vandal Online