Buscando ansiosamente el código fuente para diseñar un programa de ajedrez en C
#includelt;stdio.hgt;
#includelt;stdlib.hgt;
tablero de carbón[21][21];
char move[5][2]=,,,,};
void initBoard(); //inicializar el tablero
void showBoard(); //salir del tablero
p>
char set(int x, int y, char color); //reproducir
void proceso(int xx, int
FILE * fptr=NULL); ;
char pufile[256]=;
char op;
int s;
int x, y, r;
color de carácter;
victoria de carácter;
int cnt;
inicio:
s=8; /p>
while(s!=1 amp; amp; s!=2)
{
printf("Selección del modo:\n1---jugar ajedrez \ n2---mira el juego \n0---exit.-Salir \n");
printf("En modo ajedrez, para jugar, ingresa s x y (x, y son posiciones), para reconocer ingrese g, y para dibujar ingrese h\n Seleccione: ");
scanf("d",amp;s);
if(s==0) return 0 ;
//Huevo1
if(s==10) printf("Programador: Swordlance:)\n");
//Huevo1 end
}
getchar();
printf("Ruta de entrada al juego: ");
p>
if(s==1) fptr=fopen(pufile, "w");
else fptr=fopen(pufile, "r"); /p>
si (! fptr)
{
printf("¡El archivo no se pudo abrir (crear)!\n");
system("PAUSE"); p> p>
retorno -1;
}
initBoard();
cnt=0; 'B ';
while(op!='g')
{
sistema("CLS");
showBoard () ;
printf("(dth mano)", cnt);
if(s==1)
{
printf ("c parte:", color);
scanf("c", amp; op)
;
//printf("[c]", op);
if(op=='s')
{
scanf("d d",amp; /p>
printf("¡No se puede aterrizar en esta ubicación!\n");
cnt--;
sistema("PAUSA");
}
else
{
proceso(x, y) p> fprintf(fptr, "d d\n ", x, y);
if (color=='B') color='W'
else color='; B';
}
}
}
si no (op=='g')
{
printf ("el lado c concede.\color);
if(color=='B') fprintf(fptr, "0 1\n"); p>
else fprintf(fptr, "0 -1\n");
fflush(fptr);
fclose(fptr); system("PAUSA");
ir a inicio;
}
else if(op=='h')
{
printf(" Dibujar.\n");
fprintf(fptr, "0 0\n");
fflush(fptr); p>
fclose(fptr);
system("PAUSA");
ir a inicio
}
else;
{
p>
printf("Error de parámetro, ingrese s x y (x, y son posiciones) para siguiente, g para reconocimiento y h para dibujo");
cnt--;
sistema("PAUSA");
}
}
más
{
fscanf (fptr,"d d",amp;x,amp;y);
if(x==0)
{
if(ygt;0 ) printf("¡El cuadrado W gana! \n");
else if(ylt;0) printf("¡El lado B gana!\n");
else printf("¡Empate!\n");
system("PAUSA");
ir a inicio
}
else
{
printf("c lado gota (d, d)\n", color, x, y
set(x, y, color
proceso); (incógnita
, y);
if(color=='B') color='W';
else color='B';
} p>
sistema("PAUSA");
}
}
}
sistema("PAUSA");
retorna 0;
}
void initBoard()
{
int i,j;
tablero[0][0]='O';
for(i=1; ilt; =19; i ) tablero[0][i]='-';
tablero[0][20]='O';
for(i=1; ilt; =19; i )
{
tablero[i][0]='|';
for(j=1;jlt;=19.j) tablero[i][j]=' ';
tablero[i][20]='|';
}
tablero[20][0]='O'; for(i=1;ilt;=19;i) tablero[20][i]='-';
tablero[20][20]='O';
tablero[4][4]=tablero[4][10]=tablero[4][16]=
tablero[10][4]=tablero[10][10]=tablero[ 10][16]=
tablero[16][4]=tablero[16][10]=tablero[16][16]='*';
}
void showBoard()
{
int i, j
for(i=0; ilt; =20; i )
{
for(j=0;jlt;=20;j)
{
printf("c",tablero [i][j]);
}
printf("\n"
}
}
conjunto de caracteres(int x, int y, color de carácter)
{
if(tablero[x][y]=='W' || tablero[x ][y]=='B') return -1; //no puedo aterrizar
else board[x][y]=color
return 0; p> p>
}
//C/C...
//Calcular el proceso tic
void(int xx, int yy )
{
char his[21][21]=; //Registra las piezas contadas para ahorrar eficiencia
char Q[400][2] =; /Alguna pieza
int e;.//La longitud de Q.
char mcolor; // el color de esta pieza
char ecolor; //otro color
int QI=0 //número de chi p> p>
int i, j, k, l, m;
int x, y
for(m=0;mlt;5;m)
{
i=xx move[m][0];//Cuenta otras personas antes que tú para poder completar el robo
j=yy move [m] [1];
if(his[i][j]==0 amp; amp; (tablero[i][j]=='W' || tablero[ i][ j]= ='B')))//Esta posición tiene un sub-hijo que comienza a calcular el gas
{
QI=0;
su [i][j ]=1;
mcolor=tablero[i][j];
ecolor=(tablero[i][j]=='W'?B ':
//printf("m=c e=c\n",mcolor,ecolor);
Q[0][0]=i;
Q[0 ][1]=j;
e=1;
for(k=0; klt; e; k )
{
for(l=0;llt;4;l)
{
x=Q[k][0] mover[l][0] ;
y=Q[k][1] mover[l][1];
//printf("x=d y=d\n", x, y) ;
/ /system("PAUSA");
if(xgt;0 amp;amp;ygt;0 amp;amp;xlt;20 amp;ylt;20 amp;amp; his[x][ y]==0)
{
if( board[x][y]==mcolor)//su lado, gas largo
{
Q[e][0]=x
Q[e][1]=y
su [x][y]=1
}
else
{
if(tablero[x] ][y]= =' ') QI; //abrir espacio, agregar gasolina, ignorar el doble conteo
}
}
}
}
}
//printf("QI=d\n", QI
//system("PAUSA");
si(! QI)//movimiento muerto, levante el disco
{
for(k=0;klt;e;k)
{
Tablero de ajedrez[Q[k][0]][Q[k][1]]=' ';
su[Q[k][0][Q[k][1]]= 0;
}
}
}
}
}
}