Java - Ayuda Con Este Codigo de Ajedrez

 
Vista:

Ayuda Con Este Codigo de Ajedrez

Publicado por Cabrera (4 intervenciones) el 06/07/2009 05:05:46
BUENAS
ESTE CODIGO LO TENIA EN C++ Y LO ESTABA PASANDO A JAVA Y ME QUEDO ALGUNOS ERRORES POR K NO SE USAR ESOS COMANDOS .
LE AGRADESERIA MUCHO SI ME PUDIERAN AYUDAR AY ESTA EL CODIGO
MIL GRAXIAS


package ajedrez;
import java.util.Scanner;

public class Ajedrez {

public static void main(String[] args) {
Scanner en= new Scanner (System.in);


//*Variables Declaradas
int i, j, a, b, c, d;
char casillaInicial[]=new char[3];
char casillaFinal[]=new char[3];
int tablero[][]=new int[8][8];

//*Tablero Vacio
System.out.println("Tablero Vacio");
System.out.println(" A B C D E F G H");
for (i=1; i<9; i++)
{
System.out.println(" . . . . . . . . "+i);
}

//*Punto 1
i=1;
while (i);
{
System.out.println("Introduce la casilla inicial.");
System.out.println("Una letra mayuscula de la A a la H seguida de un");
System.out.println("numero del 1 al 8,sin espacios :");
int n= en.nextInt();
if (casillaInicial[0] < 65 || casillaInicial[0] > 73 ||
casillaInicial[1] < 49 || casillaInicial[1] > 56)
System.out.println("Error introduciendo la casilla inicial.");
else
i=0;
}


//*Punto 2
System.out.println("Posicion de la Reina en el Tablero ");
System.out.println(" A B C D E F G H");
for (i=1; i<9; i++)
{
System.out.println(+i);
for (j=1; j<9; j++)
{
if (casillaInicial[0]-64 == j && casillaInicial[1]-48 == i)
System.out.println(" R ");
else
System.out.println(" . ");
}
}

//*Punto 3
System.out.println("Posibles Movimientos de la Reina:");
System.out.println(" A B C D E F G H");
for (i=1; i<9; i++)
{
System.out.println(+i);
for (j=1; j<9; j++)
{
if (casillaInicial[0]-64 == j && casillaInicial[1]-48 == i)
{
System.out.println(" R ");
tablero[i-1][j-1]=1;
}
else if (casillaInicial[0]-64 ==j || casillaInicial[1]-48 == i)
{
System.out.println(" * ");
tablero[i-1][j-1]=1;
}
else if (casillaInicial[0]-64 - j==casillaInicial[1]-48 - i)
{
System.out.println(" * ");
tablero[i-1][j-1]=1;
}
else
{
System.out.println(" + ");
tablero[i-1][j-1]=0;
}
}
}


//*Punto 4
i=1;
while(i)
{
System.out.println("Introduce la casilla de destino.");
System.out.println("(Una letra mayuscula de la A a la H seguida de un ");
System.out.println("numero del 1 al 8,sin espacios) :");
int n= en.nextInt();
if (casillaFinal[0] < 65 || casillaFinal[0] > 73 ||
casillaFinal[1] < 49 || casillaFinal[1] > 56)
System.out.println("Error introduciendo la casilla final. ");
else if(tablero[casillaFinal[1]-49][casillaFinal[0]-65]==0)
System.out.println("La reina no puede ir a esa casilla. ");
else
{
tablero[casillaFinal[1]-49][casillaFinal[0]-65]=2;
i=0;
}
}


//*Punto 5
System.out.println("Movimiento final:");
System.out.println(" A B C D E F G H");
for (i=0; i<8; i++)
{
System.out.println(i+1);
for (j=0; j<8; j++)
{
if (casillaInicial[0]-65 == j && casillaInicial[1]-49 == i)
System.out.println("i");
else if (tablero[i][j]==2)
System.out.println("f");
else
System.out.println(".");
}
}

//* Punto voluntario
System.out.println("Movimiento final detallado:");
a=casillaFinal[1]-49;
b=casillaFinal[0]-65;
c=casillaInicial[1]-49;
d=casillaInicial[0]-65;
while(a!=c || b!=d)
{
avanza(a,b,&c,&d);
if(c!=casillaFinal[1]-49 || d!=casillaFinal[0]-65)
tablero[c][d]=3;
}
System.out.println(" A B C D E F G H");
for (i=0; i<8; i++)
{
System.out.println(i+1);
for (j=0; j<8; j++)
{
if (casillaInicial[0]-65 == j && casillaInicial[1]-49 == i)
System.out.println("i");
else if (tablero[i][j]==2)
System.out.println("f");
else if (tablero[i][j]==3)
System.out.println("x");
else
System.out.println(".");
}
}
}
}

void avanza(int a, int b, int *c, int*d)
{
if (a>*c) *c=*c+1;
if (a<*c) *c=*c-1;
if (b>*d) *d=*d+1;
if (b<*d) *d=*d-1;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda Con Este Codigo de Ajedrez

Publicado por sergi (1 intervención) el 23/11/2010 17:48:26
el codigo no esta terminado,verdad? de primeras veo que el bucle while lo tienes mal tendrias que ponerle alguna condicion como por ej: while(i==1), si controlas en C leete algun tutorial de java y familiarizate con el , no te puedo decir mas, un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar