Tic tac toe c ++

Tic tac toe c ++
Frequentemente jogamos este jogo em albergues e nossas salas de aula em nossa vida estudantil. É um jogo divertido envolvendo dois jogadores que usa X e O ou TIC, mas já notamos que este jogo pode ser um bom projeto C ++? Se programá -lo corretamente, podemos nos divertir jogando em nosso sistema com nosso parceiro repetidamente.

Este jogo contém um recipiente em forma de hash (#) com duas linhas horizontais cruzando duas linhas verticais com diferentes turnos. O vencedor decidiu qual jogador encheu o contêiner com 3Os ou 3xs no estilo diagonal, horizontal ou vertical. Às vezes, o jogo é considerado uma partida de empate se nenhum jogador puder ganhar preenchendo o contêiner com 3os ou 3xs na diagonal, horizontal ou estilo vertical.

Alterando o valor do gráfico de jogos:

Com antecedência, temos que tomar alguma ação quando o valor do gráfico mudar. Temos que inserir algum valor em uma matriz, ou podemos dizer isso matriz. Inicializamos uma matriz do tipo dados de string e inserimos os valores entre 1 a 9 ou 0 e 9; Dividimos a matriz em 3*3 gráficos no jogo desenhados mais cedo. O programa apaga a primeira tela de saída quando os dois jogadores passam seus nomes em nosso código. Ele mostra a tela principal em que pedimos aos dois jogadores que inseram um valor numérico entre 1 e 9; portanto, se um jogador entrar nesses números, substituímos o valor desse jogador em um gráfico de jogos com O ou X. O mesmo método continua repetidamente e substitui cada participante um por um.

#incluir
usando namespace std;
char sqr [10] = 'o', '1', '2', '3', '4', '5', '6', '7', '8', '9';
int checkwin ();
Void Board ();
int main ()

int gamer = 1, a, ch;
Char Mark;
fazer

quadro();
jogador = (jogador%2)?1: 2;
cout << "Player " << gamer ch;-
Mark = (jogador == 1) ? 'X': 'o';

Começando com o arquivo de cabeçalho, inicializamos nossa matriz de personagens com o nome de 'sqr' para desenhar a matriz para exibir o gráfico de jogos. Em seguida, definimos a função vencedora que é definida abaixo. Depois disso, chamamos nossa função de placa vazia. Porque a função checkwin () retorna 1, é 'int'; Por outro lado, a placa não retorna valor, por isso é nulo ou vazio. Aqui começamos nosso corpo principal, onde inicializamos nossa variável com o tipo de dados inteiro com o nome de jogador, a e ch-al, as marcas com o tipo de caractere de dados. Aqui começamos nosso loop de fazer um tempo; No loop, chamamos nossa função de placa e verificamos a condição para trocar as curvas dos jogadores. O jogo começa, os jogadores entram no número em suas caixas e a matriz é construída de zero a nove. Rotulamos todas as caixas da matriz.

Aqui, verificamos a entrada do usuário repetidamente até que o jogo termine ou a entrada do usuário um número inválido. Onde a condição será verdadeira, o valor de Mark será atribuído a esse local O ou X.

if (ch == 1 && sqr [1] == '1')
sqr [1] = mark;
caso contrário, se (ch == 2 && sqr [2] == '2')
sqr [2] = mark;
caso contrário, se (ch == 3 && sqr [3] == '3')
sqr [3] = mark;
caso contrário, se (ch == 4 && sqr [4] == '4')
sqr [4] = mark;
caso contrário, if (ch == 5 && sqr [5] == '5')
sqr [5] = mark;
caso contrário, se (ch == 6 && sqr [6] == '6')
sqr [6] = mark;
caso contrário, se (ch == 7 && sqr [7] == '7')
sqr [7] = mark;
caso contrário, if (ch == 8 && sqr [8] == '8')
sqr [8] = mark;
caso contrário, se (ch == 9 && sqr [9] == '9')
sqr [9] = mark;
outro

cout<<"Invalid move ";
jogador--;
CIN.ignorar();
CIN.pegar();

No caso, se colocarmos outra coisa, ele exibe a mensagem de entrada inválida se inserirmos a entrada diferente de 1 a 9.

Verifique a vitória:

Este jogo é muito popular e, neste jogo, todo jogador deseja vencer o jogo; Para este ponto, verificamos a condição em todas as informações do usuário, se o estado satisfazer a condição, então imprimiremos uma mensagem de que o primeiro jogador vence ou o segundo jogador vence ou é desenhado de acordo com o resultado do jogo.

a = checkwin ();
jogador ++;
while (a ==-1);
quadro();
se (a == 1)
cout<<"==>\um jogador "<<--gamer<<" win ";
outro
cout<<"==>\ agame draw ";
CIN.ignorar();
CIN.pegar();
retornar 0;

O vencedor da função é a estrutura da matriz e a condição é usada para retornar o valor; Se o usuário selecionar a caixa depois de retornar o valor do compilador de funções vencedoras decide o vencedor e, se não houver valor retornado, o jogo será desenhado.

Nesta função, podemos ver como o código decide o vencedor.

int checkwin ()

if (sqr [1] == sqr [2] && sqr [2] == sqr [3])
retornar 1;
caso contrário, if (sqr [4] == sqr [5] && sqr [5] == sqr [6])
retornar 1;
caso contrário, if (sqr [7] == sqr [8] && sqr [8] == sqr [9])
retornar 1;
caso contrário, if (sqr [1] == sqr [4] && sqr [4] == sqr [7])
retornar 1;
caso contrário, if (sqr [2] == sqr [5] && sqr [5] == sqr [8])
retornar 1;
caso contrário, if (sqr [3] == sqr [6] && sqr [6] == sqr [9])
retornar 1;
caso contrário, if (sqr [1] == sqr [5] && sqr [5] == sqr [9])
retornar 1;
caso contrário, if (sqr [3] == sqr [5] && sqr [5] == sqr [7])
retornar 1;
caso contrário, se (sqr [1] != '1' && sqr [2] != '2' && sqr [3] != '3'
&& sqr [4] != '4' && sqr [5] != '5' && sqr [6] != '6'
&& sqr [7] != '7' && sqr [8] != '8' && sqr [9] != '9')
retornar 0;
outro
retornar -1;

Como você pode ver nesta lógica, a função checkwin () verifica todas as combinações possíveis que podem ajudar a ganhar o jogo. Se algum deles for verdadeiro, a mensagem será exibida no lado do usuário que preenche esse padrão.

Desenhe o gráfico de jogos:

Primeiro, projetamos uma mesa de jogo; No C ++, é um desafio projetar gráficos em uma tela de console e é por isso que selecionamos outra alternativa para desenhar uma linha de jogo Tic Tac Toe com o suporte da declaração Cout e então tentamos poder que cada gráfico parece melhor quando inicializamos os valores.

Void Board ()

sistema ("cls");
cout << "\n\n\tTic Tac Toe\n\n";
cout << "Player 1 (X) - Player 2 (O)" << endl << endl;
cout << endl;
cout << " | | " << endl;
cout << " " << sqr[1] << " | " << sqr[2] << " | " << sqr[3] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << sqr[4] << " | " << sqr[5] << " | " << sqr[6] << endl;
cout << "_____|_____|_____" << endl;
cout << " | | " << endl;
cout << " " << sqr[7] << " | " << sqr[8] << " | " << sqr[9] << endl;
cout << " | | " << endl << endl;

Aqui definimos a função da placa (). No corpo da função, limpamos a tela com uma função interna. Em seguida, imprima o título do jogo. Depois disso, exibimos nossa placa que também é uma matriz, para fazer a estrutura do jogo.

Agora vamos jogar este jogo.

Conclusão:

Este artigo discute como aplicamos este jogo em C ++ muito simples e fácil. Todos os mecanismos básicos necessários para escrever código para este jogo. Este guia abrange um código fonte simples deste jogo para dois jogadores com uma interface simples, fácil e interativa. Elaboramos em todos os pontos definidos no código e discutimos funções básicas.