Red de conocimiento informático - Conocimiento del nombre de dominio - Buscando ansiosamente el código fuente para diseñar un programa de ajedrez en C

Buscando ansiosamente el código fuente para diseñar un programa de ajedrez en C

Este es un programa simple que calcula automáticamente el tres en raya, pero no los números. Aparte de eso, ejecútelo una vez y creo que está casi bien. Escribe algunas notas.

#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>

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");

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';

}

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>

}

//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>

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;

}

}

}

}

}

}