Red de conocimiento informático - Problemas con los teléfonos móviles - Código fuente del servicio de transferencia

Código fuente del servicio de transferencia

# incluir ltiostream gt

# incluir lt string gt

Usar espacio de nombres std

Clase CGobang //Clase de pieza de ajedrez

{< / p>

Privado:

char chSort//Tipo de pieza de ajedrez

int nWin//Número de piezas ganadoras

int nLose//Piezas perdedoras Veces

Static int nDraw//Número de sorteos

Placa de circuito de carga electrostática[3][3]; //Tablero de ajedrez

Static int nSize//Tablero de ajedrez Tamaño nTamaño

{

chSort = chsort

nWin = nLose = nDraw = 0

}

nunca jugar; turn(void); //Toma 1 para moverte.

int Judge(); //Juzga si están conectados en una línea. Si es así, devuelve 1; de lo contrario, devuelve 0.

void Win(void); //Gana el ajedrez

void Lose(void); //Pierde el ajedrez

Pintura vacía estática (void); // Draw

void PrintInfo(void); // Genera la situación general

Tablero de impresión vacío estático (void) // Genera el tablero de ajedrez

static); int get full( void); // Determina si el tablero de ajedrez está lleno de piezas de ajedrez.

Tablero inicial vacío estático(void); //Inicializa el tablero

};

char CGO bang::ach board[3][3];

int CGO bang::nSize = 3;

int CGO bang::nDraw = 0;

void CGobang::Draw()

{

cout lt lt"\n\n\t\iron!\n\n";

ndraw;

}

voidccgobang::initial board()//Inicializa el tablero de ajedrez.

{

for(int I = 0; i ltnSizei)

for(int j = 0; j ltnSizej)

cada tablero[I][j]="";

}

voidccgobang::print board()//Salida del tablero de ajedrez

{

cout lt ltendl

cout lt lt" 1 2 3 " lt; ltendl

cout lt" 1 " ltach board[0][0] lt" | " lt lttach tablero[0][1] lt; lt" | " lt lttach tablero[0][2] lt; ltendl

cout lt lt"-|-|-" lt; ltendl

cout lt lt" 2 " lt placa de conexión[1][0] lt; lt" | " lt placa de conexión[1][1] lt" | " lt placa de conexión[1][2] ] lt; ltendl

cout lt lt"-|-|-" lt; ltendl

cout lt" 3 " lt ltach board[2][0] lt" " lt ltach tablero[2][1] lt; lt" | " lt ltach tablero[2][2] lt; ltendl

cout lt ltendl

cout lt ltendl

}

Int CGobang::GetFull() //Determina si el tablero de ajedrez está lleno de piezas de ajedrez. Si es así, devuelve 1.

{

for(int I = 0; i ltnSizei)

for(int j = 0; j ltnSizej)

si (achBoard[i][j]!=' ')

Devuelve 0

Devuelve 1

}

Nulo CGobang; ::Win() //Gana el juego.

{

cout lt lt" \ n \ n \ t \ t " lt ltchSort lt lt"¡La fiesta ganó! \ n \ n "

nwin;

}

Void CGobang::Lose() //Perdiendo

{

nlose;

}

void CGO bang::jugar turno(void)//Haz 1 movimiento.

{

int nRow, nCol

cout lt "Ahora es el momento"

Hacer

{

CIN gt; gtnRow gt gtnCol//Ingresar coordenadas

if(nRow gt; nSize | | nCol gtNSize) //Juzga que las coordenadas están fuera de los límites.

cout lt ltLas coordenadas de entrada están fuera de los límites, el rango de xey debe ser menor o igual que

else if(ach board[nRow-1][nCol- 1]!= ' ') //Juzga si las coordenadas son razonables

cout lt lt"Chessboard("

Otros

{

ach board[nRow-1] [nCol-1]= ch sort; //Coloca la pieza en las coordenadas

Break; //Salir del bucle

}

} while(1 );

}

Int CGobang::Judge() //Determina si las piezas están conectadas en una línea, si es así, devuelve 1

{// Las siguientes son varias situaciones en las que se puede formar una línea

if(ach board[0][0]= = ch sort amp; ampach board[1]. ][1]= = ch sort amp; ampachBoard [2][2]==chSort)

Devuelve 1;

else if(ach board[2][0] = = ch sort amp; ampach board[1][ 1]= = ch sort ampachBoard[0][2]==chSort)

Devuelve 1;

si no (ach board[0][0]= = ch sort amp; ampach board[1][0]= = ch sort amp; ampachBoard[2][0]==chSort)

Return 1;

else if(ach board [0][1]= = ch sort amp; ampach board[1][1]= = ch sort amp; ampachBoard[2][1]==chSort)

Devuelve 1;

else if(ach board[0][2]= = ch sort amp; ampach board[1][2]= = ch sort amp; ampachBoard[2 ][2]==chSort)

Devuelve 1;

else if(ach board[0][0]= = ch sort amp; ampach board[0][1] = = ch sort amp; ampachBoard[0][2 ]==chSort)

Devuelve 1;

else if(ach board[1][0]= = ch sort amp; ; ampach board[1][1]= = ch sort ampachBoard[1][2]==chSort)

Devuelve 1;

else if(ach board[2] ][0]= = ch sort amp; ampach board [2][1]= = ch sort ampachBoard[2][2]==chSort)

Devuelve 1;

Otros

Devuelve 0; //Si no está conectado en una línea, devuelve 0.

}

Void CGobang::PrintInfo(void) //Imprime la situación general.

{

cout lt lt" Side " lt ltchSort lt lt"Side* * *tiene la intención de ganar"

}

Nulo PrintRule (void) //Imprimir reglas

{

cout lt lt" \ t \ t \¡Bienvenido al Juego de los Tres Hijos Julian!" p>cout lt lt" \Reglas del juego: "

cout lt lt" \t1. Ingresa las coordenadas x e y del cuadrado en cada paso para jugar al ajedrez y presiona Enter\ n ";

cout lt lt" \t2. Si hay 1 lado y las primeras tres piezas están conectadas en línea, se determinará el ganador\n ";

cout lt lt" \t3 . Cuando el tablero está lleno Cuando aún no hay ganador, se produce un empate\n ";

cout lt lt" \t4 El grupo x es el primero\n ";

. cout lt lt" \n \ n \ t \ ¡Presione cualquier tecla para comenzar a jugar al ajedrez! \ n \ n "

}

int juez play(CGO bang amp; Sidex , Gao Banghe SideO )//1 Gane o pierda en cada paso, devuelva 1 si hay un resultado.

{

Si (SideX.Judge()) //X gana.

{

SideX. win();

LadoO. perder();

Devuelve 1;

}

De lo contrario, if(SideO.Judge()) //O gana.

{

LadoO. ganar();

SideX. perder();

Devuelve 1;

}

Otros

Devuelve 0;

}

Juego no válido (CGobang amp Sidex, Gobang y SideO) //Iniciar juego

{

while(1)

{

CGO bang::print board(); //Tablero de salida

SideX. play turn(); //El lado X juega al ajedrez

If(JudgePlay(SideX, SideO)) //Juzga si ganas o pierdes.

Break;

If(CGobang::GetFull()) //Determina si es un empate.

{

Explosión CGO::Dibujar();

Romper;

}

Explosión CGO: :print board(); //Salida del tablero de ajedrez

SideO. jugar turno(); //O jugar al ajedrez.

If(JudgePlay(SideX, SideO)) //Juzga si ganas o pierdes.

Break;

If(CGobang::GetFull()) //Determina si es un empate.

{

CGO bang::Dibujar();

Romper;

}

}

}

int main(void)

{

CGobang SideX('X '), SideO(' O '); Defina dos objetos de clase de pieza de ajedrez, que representen el lado X y el lado O respectivamente.

imprimir regla();

CIN . get();

String strChoice

Hacer

{

CGO bang:: tablero inicial(); //Inicializa el tablero

Play(SideX, SideO); //Inicia el siguiente juego

cout lt lt"¿Quieres continuar (Sí/No)?";

CIN gt; gtstrChoice

} while(str elección == " Y " | | str elección == " Y ");

SideX. PrintInfo();

LadoO. PrintInfo();

cout lt lt" \ n \ n \¡Bienvenido al juego Three Sons Julian otra vez!" >}