question

Escrever um programa em C++ para Jogo da Velha?

Escreva um programa que permita que dois jogadores joguem o jogo da velha. Use uma matriz de char bidimensional com três linhas e três colunas como tabuleiro de jogo. Cada elemento da matriz deve ser inicializado com um asterisco ().

O programa deve executar um loop que:
- Exibe o conteúdo da matriz do tabuleiro.
- Permite ao jogador 1 selecionar uma localização no tabuleiro para X. O programa deve perguntar ao usuário para inserir o número da linha e coluna.
- Permite que o jogador 2 selecione uma localização no tabuleiro para O. O programa deve perguntar ao usuário para inserir o número da linha e coluna.
- Determina se um jogador venceu, ou ocorreu um empate. Se um jogador venceu, o programa deve declarar o jogador vencedor e finalizar. Se ocorreu um empate, o programa deve dizê-lo e terminar. O jogador 1 ganha quando há três Xs em linha no tabuleiro de jogo. Os Xs podem aparecer em uma linha, uma coluna ou diagonalmente através do tabuleiro. Um empate ocorre quando todos os locais no tabuleiro estão preenchidos, mas não há nenhum vencedor.
resposta Resposta

Escreva um programa que permite que dois jogadores joguem um jogo do galo.

Use uma matriz de char dimensional dois com três linhas e três colunas como o tabuleiro de jogo. Cada elemento da matriz deve ser inicializado com um asterisco ().

Código em C++

Aqui está um exemplo de programa em C++ que implementa o jogo do galo:


#include 
using namespace std;

char board[3][3] = {{'', '', ''}, {'', '', ''}, {'', '', ''}};

void printBoard() {
    for (int i=0; i<3; i++) {
        for (int j=0; j<3; j++) {
            cout << board[i][j] << " ";
        }
        cout << endl;
    }
}

bool checkWinner(char player) {
    // Verificar linhas e colunas
    for (int i=0; i<3; i++) {
        if ((board[i][0] == player && board[i][1] == player && board[i][2] == player) ||
            (board[0][i] == player && board[1][i] == player && board[2][i] == player)) {
            return true;
        }
    }
    // Verificar diagonais
    if ((board[0][0] == player && board[1][1] == player && board[2][2] == player) ||
        (board[0][2] == player && board[1][1] == player && board[2][0] == player)) {
        return true;
    }
    return false;
}

bool checkTie() {
    for (int i=0; i<3; i++) {
        for (int j=0; j<3; j++) {
            if (board[i][j] == '') {
                return false;
            }
        }
    }
    return true;
}

int main() {
    int row, col;
    char currentPlayer = 'X';

    while (true) {
        printBoard();

        cout << "Jogador " << currentPlayer << ", digite a linha (0-2) e coluna (0-2) para colocar o seu símbolo: ";
        cin >> row >> col;

        if (board[row][col] == '') {
            board[row][col] = currentPlayer;

            if (checkWinner(currentPlayer)) {
                cout << "Jogador " << currentPlayer << " venceu!" << endl;
                break;
            } else if (checkTie()) {
                cout << "O jogo terminou em empate." << endl;
                break;
            }

            // Troca para o próximo jogador
            currentPlayer = (currentPlayer == 'X') ? 'O' : 'X';
        } else {
            cout << "Localização ocupada. Por favor, escolha outra." << endl;
        }
    }

    printBoard();

    return 0;
}


ComentáriosComentários
Acho que a resposta não está correta ou que você gostaria de acrescentar mais
alguma informação? Envie o seu comentário abaixo..

Guest


HTML não é permitido!

Image Code

Digite os caracteres que aparecem na imagem por isso sabemos que você é humano!

Receber um email quando alguém acrescenta outro comentário a esta pergunta


Topo da página


Home  Terms
Copyright © Accelerated Ideas 2005-2024
All rights reserved