Encontrar el código fuente de backgammon c
Ejecutar devc con comentarios
#includelt; bits/stdc .hgt;
#includelt; ;conio.hgt;
# includelt;ctimegt;
usando el espacio de nombres std;
void gotoxy(int x, int y) {
COORD pos = {x, y};
HANDLE hOut = GetStdHandle(STD _OUTPUT_HANDLE
SetConsoleCursorPosition(hOut, pos
}); / ¿Mover el cursor al punto x, y?
int mp[16][16]={0}, x1=0, x2=0; //Mapeo, ¿se utiliza para buscar concatenación de cinco tuplas?
void print (int x) {
gotoxy(x, 1);
coutlt; "┬"; =14; i) {
gotoxy(x, i);
coutlt; "┼"; gotoxy(x, 15);
coutlt;lt;"┴";
}//¿Salir en el medio del tablero?
void gotoc() {
system("cls");
gotoxy(55, 10);
coutlt; "Gobang? Ajedrez";
gotoxy(56, 20);
coutlt; "Cargando..." ;
gotoxy(55, 21); ;lt; "Por Northstar";
for(int j=0; jlt;100; j) {
Dormir(17);
gotoxy ( j 3, 15);
coutlt;lt;" "lt;lt;jlt;lt;"";
gotoxy(j, 15);
coutlt;lt;"■";
}
system("cls");
for(int i=0; ilt.100; i ) {
for(int j=0; jlt; 40; j ) {
gotoxy(i, j);
coutlt; ";
//SetColor(rand()10);
}
}
}
>>p>
system("cls");
} //¿Cargar función de interfaz?/¿Cargar función de interfaz?
int main() {
gotoc(); //cargar?
for(int i=2; ilt; =30; i =2) {
g
otoxy(i, 0);
coutlt; i/2;
}//Abscisa?
for(int i=1; ilt; =15; i) {
gotoxy(0, i);
coutlt; /p>
}// ¿Coordenadas verticales?
gotoxy(2,1);
coutlt;lt;"┌";
for(int i=2; ilt;=14; i) {
gotoxy(2,i);
coutlt;lt;"└";//¿salida del lado izquierdo del tablero?
for(int i= 4; ilt;=28; i =2) {
print(i);
}// ¿Imprimir la parte media del tablero de ajedrez en un bucle?
gotoxy(30, 1);
coutlt; lt; "┐";
for(int i=2; ilt; =14; i) {
gotoxi(30, i);
coutlt; "┤";
}
gotoxi(30, 15) );
coutlt; "┘"; //muestra el lado derecho del tablero
bool l=0; //¿no es de mucha utilidad para una bandera? >
long long m=2; // Esto es muy importante, se utiliza para determinar si el ajedrez blanco debe moverse o el ajedrez negro cada vez que se juzga que es un número par. el blanco se mueve y un número impar, el negro (normalmente a juzgar por el logotipo, que es mi preferencia personal).
gotoxy(0, 17);
coutlt; "Instrucciones del juego: las blancas van primero, por favor ingresa las coordenadas de la pieza de ajedrez, no necesito decir nada". else"; // Descripción, ¿debe leerse?
while(l=1) {
gotoxy(32, 16);
int x, y
cingt; ;gt; > if(mp[x][y]! =0) {?
gotoxy(32, 16);
lt; en esta posición !" ;
Sleep(1000);
gotoxy(32,16);
coutlt;lt;";
continuar;
}/// ¿Lo importante es determinar si esta posición ha disminuido?
if(xgt;15amp;amp;ylt;=15) {
gotoxy(32,16);
coutlt;lt "la coordenada x excede; Rango del tablero! p> continuar
}?
if(ygt;15amp;amp;xlt;=15) {
ir
toxy(32, 16);
coutlt; "¡La coordenada y está fuera del rango de la placa de circuito!"; gotoxy(32, 16);
coutlt; lt;
continuar
}
if(ygt; 15amp ; amp; xgt; 15) {
gotoxy(32, 16);
coutlt; "¡Ambas coordenadas x e y exceden el rango del tablero de ajedrez!" >
Dormir(1000);
gotoxy(32, 16);
coutlt; " ";
} // ¿Los tres if anteriores se utilizan para determinar si se ha excedido el tamaño del tablero de ajedrez?
gotoxy(x*2,y);
if(m2==0) {//¿Es un número par, es decir, blanco?
coutlt;lt;"●";//¿sacar la pieza?
mp[x][y]=1;
¿La búsqueda de coordenadas horizontales conecta cinco?
if(mp[x 1][y]==1amp;amp;mp[x 2][y]==1amp;amp;mp[x 3][y]==1amp;amp ;mp[x 4][y]==1) {
gotoxy(32, 16);
coutlt! " ;
Devuelve 0;
}
if(mp[x-1][y]==1amp;amp;mp[x 1][ y]==1amp;amp;mp[x 2][y]==1amp;amp;mp[x 3][y]==1) {
gotoxy(32,16);
coutlt;lt; "¡Las blancas ganan! " ;
devuelve 0;
}
if(mp[x-2][y]==1amp;amp;mp[x-1] [y]==1amp;amp;mp[x 1][y]==1amp;amp;mp[x 2][y]==1) {
gotoxy(32,16);
coutlt;lt; "¡Las blancas ganan! " ;
Devuelve 0;
}
if(mp[x-3][y]==1amp;amp;mp[x-2] [y]==1amp;amp;mp[x-1][y]==1amp;amp;mp[x 1][y]==1) {
gotoxy(32, 16) ;
coutlt;lt; "¡Las blancas ganan! )
Devuelve 0
}
// Vertical
if(mp[x][y 1]==1amp; amp;mp[x][y 2]==1amp;amp;mp[x][y 3]==1amp;amp;mp[x][y 4]==1) {
gotoxy(32, 16);
coutlt; "¡Las blancas ganan!";
Devuelve 0; (mp[x][y-1]==1amp;amp;mp[x][y 1]==1amp;amp;mp[x][y 2]==1amp;amp;mp[x][
y 3]==1) {
gotoxy(32,16);
coutlt;lt; "¡Las blancas ganan!"; /p>
p>
}
if(mp[x][y-2]==1amp;amp;mp[x][y-1]==1amp;amp ;mp[x][ y 1]==1amp;amp;mp[x][y 2]==1) {
gotoxy(32,16);
coutlt ;lt; "¡Victoria blanca!"
Devuelve 0
}
if(mp[x][y-3]==1amp; ;mp[x] [y-2]==1amp;amp;mp[x][y-1]==1amp;mp;mp[x][y 1]==1) {
gotoxy(32, 16);
coutlt;lt; "¡Las blancas ganan!)
devuelve 0;
}
/ /barra diagonal '\ '
if(mp[x 1][y 1]==1amp;amp;mp[x 2][y 2]==1amp;amp;mp[x 3][ y 3]= =1amp;amp;mp[x 4][y 4]==1) {
gotoxy(32,16);
coutlt;lt; gana! ")
Devuelve 0;
}
if(mp[x-1][y-1]==1amp; amp; mp[x 1 ][y 1]==1amp;amp;mp[x 2][y 2]==1amp;amp;mp[x 3][y 3]==1) {
gotoxy(32 , 16);
coutlt;lt; "¡Las blancas ganan! " ;
Devuelve 0;
}
if(mp[x-2][y-2]==1amp;amp;mp[x- 1][y-1]==1amp;amp;mp[x 1][y 1]==1amp;amp;mp[x 2][y 2]==1) {
gotoxy (32,16);
coutlt;lt; "¡Las blancas ganan! " ;
Devuelve 0;
}
if(mp[x-3][y-3]==1amp;amp;mp[x- 2][y-2]==1amp;amp;mp[x-1][y-1]==1amp;amp;mp[x 1][y 1]==1) {
gotoxy(32,16);
coutlt;lt; "¡Las blancas ganan! )
Devuelve 0
}
//barra '/'
if(mp[x-1][y 1] ]==1amp;amp;mp[x-2][y 2]==1amp;amp;mp[x-3][y 3]==1amp;amp;mp[x-4][y 4]= =1) {
gotoxy(32,16);
coutlt;lt; "¡Las blancas ganan!")
Devuelve 0;
}
if(mp[x 1][y-1]==1amp;amp;mp[x-1][y 1]==1amp;amp;mp[x-2 ] [y 2]==1amp;amp;mp[x-3][y 3]==1)
{
gotoxy(32, 16);
coutlt; lt; "¡Las blancas ganan!")
Devuelve 0;
if(mp[x 2][y-2]==1amp;amp;mp[x 1][y-1]==1amp;amp;mp[x-1][y 1 ]==1amp;amp;mp[x-2][y 2]==1) {
gotoxy(32,16);
coutlt;lt; gana ")
Devuelve 0;
}
if(mp[x 3][y-3]==1amp; amp; mp[ x 2][y-2]==1amp;amp;mp[x 1][y-1]==1amp;amp;mp[x-1][y 1]==1) {
gotoxy(32, 16);
coutlt; "¡Las blancas ganan!"; if(mp[x 4][y-4]==1amp;amp;mp[x 3][y-3]==1amp;amp;mp[x 2][y-2]==1amp; amp; mp[x 1][y-1]==1) {
gotoxy(32,16);
coutlt; "¡Las blancas ganan!"
Devuelve 0;
}
} else if(m2==1) {// Para números impares, ¿negro?
coutlt;lt;"○";
mp[x][y]=2;
//horizontal
si (mp[x 1][y]==2amp;amp;mp[x 2][y]==2amp;amp;mp[x 3][y]==2amp;amp.mp[x 4][y ]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan!";
devuelve 0;
coutlt;lt; "¡Las negras ganan!";
return 0;
p>}
if(mp[x-1][ y]==2amp;amp;mp[x 1][y]==2amp;amp;mp[x 2][ y]==2amp;amp;mp[x 3][y]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan! " ;
return
} p>
if(mp[x-2][y]==2amp;mp;mp[x-1] [y]==2amp;amp;mp[x 1][y]==2amp;amp ;mp[x 2][y]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan!"; p> devuelve 0;
}
if(mp[x-3] [y]==2amp;amp;mp[x-2][y]==2amp; amp;mp[x-1][y]==2amp;amp;mp[x 1][y]==2 ) {
gotoxy(32, 16
coutlt; "¡Las negras ganan!";
Devuelve 0;
}
if(mp[x-4][y]==2amp ;soy
p;mp[x-3][y]==2amp;amp;mp[x-2][y]==2amp;amp;mp[x-1][y]==2) {
gotoxy(32, 16);
coutlt; "¡Las negras ganan!)
Devuelve 0;
}
// vertical
if(mp[x][y 1]==2amp;amp;mp[x][y 2]==2amp;amp;mp[x][y 3]= =2amp;amp;mp[x][y 4]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan! " ;
devuelve 0;
}
if(mp[x][y-1]==2amp;amp;mp[x][y 1]==2amp;amp;mp[x][y 2]==2amp;amp;mp[x][y 3]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan! " ;
devuelve 0;
}
if(mp[x][y-2]==2amp;amp;mp[x][y -1]==2amp;amp;mp[x][y 1]==2amp;amp;mp[x][y 2]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan! " ;
devuelve 0;
}
if(mp[x][y-3]==2amp;amp;mp[x][y -2]==2amp;amp;mp[x][y-1]==2amp;amp;mp[x][y 1]==2) {
gotoxy(32, 16) ;
coutlt;lt; "¡Las negras ganan! " ;
Devuelve 0;
}
if(mp[x][y-4]==2amp;amp;mp[x][y -3]==2amp;amp;mp[x][y-2]==2amp;amp;mp[x][y-1]==2) {
gotoxy(32, 16 );
coutlt; lt; "¡Las negras ganan!)
devuelve 0;
}
//barra '\'
if(mp[x 1][y 1]==2amp;amp;mp[x 2][y 2]==2amp;amp;mp[x 3][y 3]==2amp ;amp;mp[x 4][y 4]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan!") p>
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan!")
p>Devuelve 0;
}
if(mp[x-1][y-1]==2amp;amp;mp[x 1][y 1 ]==2amp;amp;mp[x 2][y 2]= =2amp;amp;mp[x 3][y 3]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan!)
Devuelve 0
}
if(mp[x-2][
y-2]==2amp;amp;mp[x-1][y-1]==2amp;amp;mp[x 1][y 1]==2amp;amp;mp[x 2][y 2 ]==2) {
gotoxy(32, 16);
coutlt; "¡Las negras ganan!"; >
}
if(mp[x-3][y-3]==2amp;amp;mp[x-2][y-2]==2amp;amp;mp[ x-1][y-1]==2amp;amp;mp[x 1][y 1]==2) {
gotoxy(32, 16); coutlt;lt; "¡Las negras ganan!";
Devuelve 0;
}
if(mp[x-4][y-4]== 2amp;amp;mp[x-3][y-3]==2amp;amp;mp[x-2][y-2]==2amp;amp;mp[x-1][y-1]= =2) {
gotoxy(32, 16);
coutlt; "¡Las negras ganan!)
Devuelve 0;
}
//barra diagonal '/'
if(mp[x-1][y 1]==2amp;amp;mp[x-2][y 2] ==2amp;amp;mp[x-3][y 3]==2amp;amp;mp[x-4][y 4]==2) {
gotoxy(32, 16) ;
coutlt;lt; "Las negras ganan" ")
Devuelve 0;
}
if(mp[x 1 ][y-1]==2amp;amp;mp[x-1][y 1]==2amp;amp;mp[x-2][y 2]==2amp;amp;mp[x-3] [y 3]==2) {
gotoxy(32, 16);
coutlt; "¡Las negras ganan!)
Devuelve 0;
}
if(mp[x 2][y-2]==2amp;amp;mp[x 1][y-1]==2amp;amp;mp [ x-1][y 1]==2amp;amp;mp[x-2][y 2]==2) {
gotoxy(32, 16); coutlt;lt; "¡Las negras ganan!)
Devuelve 0;
}
if(mp[x 3][y-3]==2amp ; amp;mp[x 2][y-2]==2amp;amp;mp[x 1][y-1]==2amp;amp;mp[x-1][y 1]==2) {
gotoxy(32, 16);
coutlt; "¡Las negras ganan!)
Devuelve 0;
}
p>if(mp[x 4][y-4]==2amp;amp;mp[x 3][y-3]==2amp;amp;mp[x 2][y-2] = =2amp;amp;mp[x 1][y-1]==2) {
gotoxy(32,16);
coutlt;lt; "¡Las negras ganan! )
devolver 0
;
}
}
m ;//no olvides agregar m? > return 0; //esto no sirve de mucho, pero no olvides agregarlo durante el juego o, de lo contrario, ¿recibirás 0 puntos?
}