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 ()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.