Java - CONVERTIR ESTE CODIGO DE C++ A JAVA

 
Vista:

CONVERTIR ESTE CODIGO DE C++ A JAVA

Publicado por JC (4 intervenciones) el 04/07/2009 02:51:21
#include <stdio.h>
#include <stdlib.h>

void avanza(int, int, int *, int *);

int main(void)
{
int i,j,a,b,c,d;
char casillaInicial[3];
char casillaFinal[3];
int tablero[8][8];

system ("color 5f");

printf(" Tablero vac¡o: ");
printf(" A B C D E F G H ");
for (i=1; i<9; i++)
{
printf("%d . . . . . . . . ", i);
}

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

/* Punto 2.*/
printf(" Posici¢n de la reina en el tablero: ");
printf(" A B C D E F G H ");
for (i=1; i<9; i++)
{
printf("%d", i);
for (j=1; j<9; j++)
{
if (casillaInicial[0]-64 == j && casillaInicial[1]-48 == i)
printf(" R ");
else
printf(" . ");
}
printf(" ");
}

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

/* Punto 4.*/
i=1;
while(i)
{
printf(" Introduce la casilla de destino. ");
printf("(Una letra may£scula de la A a la H seguida de un ");
printf("n£mero del 1 al 8, sin espacios) :");
scanf("%s", casillaFinal);
if (casillaFinal[0] < 65 || casillaFinal[0] > 73 ||
casillaFinal[1] < 49 || casillaFinal[1] > 56)
printf("Error introduciendo la casilla final. ");
else if(tablero[casillaFinal[1]-49][casillaFinal[0]-65]==0)
printf("La reina no puede ir a esa casilla. ");
else
{
tablero[casillaFinal[1]-49][casillaFinal[0]-65]=2;
i=0;
}
}

/* Punto 5.*/
printf(" Movimiento final: ");
printf(" ABCDEFGH ");
for (i=0; i<8; i++)
{
printf("%d", i+1);
for (j=0; j<8; j++)
{
if (casillaInicial[0]-65 == j && casillaInicial[1]-49 == i)
printf("i");
else if (tablero[i][j]==2)
printf("f");
else
printf(".");
}
printf(" ");
}

/* Punto voluntario.*/
printf(" 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;
}
printf(" ABCDEFGH ");
for (i=0; i<8; i++)
{
printf("%d", i+1);
for (j=0; j<8; j++)
{
if (casillaInicial[0]-65 == j && casillaInicial[1]-49 == i)
printf("i");
else if (tablero[i][j]==2)
printf("f");
else if (tablero[i][j]==3)
printf("x");
else
printf(".");
}
printf(" ");
}

}

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