¡Código de juego en lenguaje C de emergencia! ! ! ! !
#includelt;conio.hgt;
#includelt;stdlib.hgt;
#includelt;windows.hgt;
int?tablero[10]? =?{2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
int?turn?=? 1, bandera?=?0;
int?player, comp;
void?menu() ?
void?go(int?n) ;
void?start_game();
void?check_draw();
void?draw_board() //Imprimir el tablero
void?player_first();?
void?put_X_O(char?ch, int?pos);
//void?gotoxy(int?, ?int?); COORD ?coord={0, 0};?// esta es una variable global
//el centro del eje está establecido en la esquina superior izquierda de la pantalla
//* ******* ********************** **********
¿nulo?Y=y ;
SetConsoleCursorPosition (GetStdHandle( STD_OUTPUT_HANDLE), coord
}
int?main()
{ system("cls); "); menú(); getch( );
}
//****************** ****** Función de menú************ *********
void?menu()
{ int?choice(" cls"); printf("\n----- ---MENU--------"); printf("\n1?:?Jugar?con?X"); //primer humano printf ("\n2?:?Jugar?con?O") ;//computadora primero printf("\n3?:?Salir"); printf("\nIngrese?su?elección:gt;"); ",amp;elección); girar?=?1; cambiar ?(elección) { case?:
jugador?=?1;
comp?=?0; p>
jugador_primero();
romper; caso?2:
jugador?=?0;
comp?=?1;
start_game();
interrumpir; caso?:
salir(1); predeterminado:
menú(); p>
}
/ /************************************ *******
int ?make2()
{ if(tablero[5]? ==?2) return?5; if(tablero[2]? ==?2) ¿volver?
2; si (tablero [4]? ==? 2) retorno? 4; si (tablero [6]? ==? 2) retorno? 6; si (tablero [8]? ==? 2) retorno? return?0;
}
int?make4()
{ if(tablero[1]? ==?2) return?1; tablero[3]? ==?2) retorno?3; si(tablero[7]? ==?2) retorno?7 si(tablero[9]? ==?2) retorno?0;
}
//********************************* *** *************
int?posswin(int?p)
{
//?p==1? entonces?Xp== 0?entonces?O?; else check_val?=?50; i?=?1; while(ilt;=9)//fila?check?detección de fila { if(board[i]?*? tablero[i 1]? *?tablero[i 2 ]? ==?check_val) {
if(tablero[i]? ==?2)
retorno?i;
if(tablero[i 1]? ==?2)
retorno?i 1;
if(tablero[i 2]? ==? 2)
return?i 2; } i =3; } i?=?1; while(ilt;=3)//columna?Verificar detección de columna{ if(board[i]? *? tablero[i 3]? *?tablero[i 6 ]? ==?check_val) {
if(tablero[i]? ==?2)
retorno?i;
if(tablero[i 3]? ==?2)
retorno?i 3;
if(tablero[i 6]? ==? 2)
return?i 6; } i; } if(board[1]? *?board[5]? *?board[9]? ==?check_val)//detección diagonal { if (tablero[1]? ==?2)
regresar?; if(tablero[5]? ==?2)
regresar?5; ? ==?2)
return?9; } if(board[3]? *?board[5]? *?board[7]? ==?check_val)// Detección diagonal { if (tablero[3]? ==?2)
retorno?3; if(tablero[5]? ==?2)
retorno?5; ]? ==?2)
regresar?7 } regresar?;
}
//********** *********** *******************
void?go(int?n)
{
if(giro??2) tablero[n]? =?3; else tablero[n] =?5;
}
//***** *****************************
void?player_first()
{ int?pos; check_draw(); draw_board(); gotoxy(30,18); printf("¿Tu?:gt;?"); ]? =?=?2) jugador_primero(); if(pos?==?posswin(jugador)) { go(pos_tablero()); printf("¿Jugador? Gana"); getch(); salir(0); ir(pos)(); iniciar_juego(); *********** ****************************
void?start_game()
{ //?p==1?entonces?Xp==0?entonces?O if(posswin(comp)) { go(posswin(comp) flag?1; (jugador)) go(posswin(jugador)); else if(make2()) go(make2()); else go(make4()); //textcolor(128 RED); printf("La computadora?gana"); getch(); } else player_first();
}
//****** ***************************
void?check_draw()//ambos lados están empatados
{ if( turn?gt;?9) { gotoxy(30, 20); //textcolor(128 RED); printf("Juego?Draw"); getch(); >
}
// ************************************* ***
void?draw_board()
{ int?j; for(j=9;jlt;17;j) { gotoxy(35,j); ||"); } gotoxy(28,11); printf("-----------------------"); gotoxy(28,14); printf ("----------------------") ; for(j=1;jlt;10;j) { si(tablero[j]?== ?3)
put_X_O('X',j); else if(tablero[j]? ==?5)
put_X_O('O',j }
}<
/p>
//****************************************** p>
void?put_X_O(char?ch, int?pos)
{ int?m; int?x?=?31,?y?=?10; gt;?3) { while(m?gt;?3) { {
y? =?3;
m?=?3; 3?==?0) x? =?16; else { pos?=?3; mientras(pos) {
x =8;
pos- -; } } } gotoxy(x, y); printf("c", ch
}
xo ajedrez