Red de conocimiento informático - Aprendizaje de código fuente - Encontrar el código fuente de backgammon c

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

}

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

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?

}