Classe que implementa o jogo Reversi.
More...
#include <Reversi.hpp>
|
| | Reversi () |
| | Construtor da classe Reversi.
|
| |
| void | iniciar () override |
| | Inicializa o jogo.
|
| |
| void | lerJogada (int &linha) override |
| | Lê a jogada do jogador atual (versão não utilizada).
|
| |
| void | lerJogada (int &linha, int &coluna) override |
| | Lê a jogada do jogador atual.
|
| |
| void | alternarJogador () |
| | Alterna o jogador atual.
|
| |
| bool | validarJogada (int linha) override |
| | Valida a jogada do jogador (versão não utilizada).
|
| |
| bool | validarJogada (int linha, int coluna) override |
| | Valida a jogada do jogador.
|
| |
| bool | validarVitoria () override |
| | Verifica se há um vencedor ou empate.
|
| |
| int | getJogadorAtual () override |
| | Retorna o jogador atual.
|
| |
| | Jogo (const std::string &nome, int linhas, int colunas) |
| | Construtor da classe Jogo.
|
| |
| void | exibirTabuleiro () const |
| | Exibe o tabuleiro do jogo.
|
| |
| virtual | ~Jogo ()=default |
| | Destrutor virtual da classe Jogo.
|
| |
|
| bool | podeCapturar (int linha, int coluna, int deltaLinha, int deltaColuna) const |
| | Verifica se é possível capturar peças em uma direção.
|
| |
| void | capturarPecas (int linha, int coluna, int deltaLinha, int deltaColuna) |
| | Captura as peças do oponente em uma direção.
|
| |
Classe que implementa o jogo Reversi.
O Reversi é um jogo de estratégia em que dois jogadores alternam turnos para colocar peças no tabuleiro, capturando as peças do oponente. A classe herda da classe base Jogo e implementa seus métodos virtuais.
◆ Reversi()
Construtor da classe Reversi.
Inicializa o jogo com um tabuleiro 8x8 e define o jogador 1 como o primeiro a jogar.
◆ alternarJogador()
| void Reversi::alternarJogador |
( |
| ) |
|
Alterna o jogador atual.
Muda o jogador atual de 1 para 2 ou de 2 para 1.
◆ capturarPecas()
| void Reversi::capturarPecas |
( |
int | linha, |
|
|
int | coluna, |
|
|
int | deltaLinha, |
|
|
int | deltaColuna ) |
|
private |
Captura as peças do oponente em uma direção.
A partir de uma posição específica, captura as peças do oponente em uma direção dada por deltaLinha e deltaColuna.
- Parameters
-
| [in] | linha | Linha da posição inicial. |
| [in] | coluna | Coluna da posição inicial. |
| [in] | deltaLinha | Direção vertical da captura (-1, 0, 1). |
| [in] | deltaColuna | Direção horizontal da captura (-1, 0, 1). |
◆ getJogadorAtual()
| int Reversi::getJogadorAtual |
( |
| ) |
|
|
overridevirtual |
Retorna o jogador atual.
- Returns
- int O jogador atual (1 ou 2).
Implements Jogo.
◆ iniciar()
| void Reversi::iniciar |
( |
| ) |
|
|
overridevirtual |
Inicializa o jogo.
Configura o tabuleiro com as peças iniciais e exibe uma mensagem de boas-vindas.
Implements Jogo.
◆ lerJogada() [1/2]
| void Reversi::lerJogada |
( |
int & | linha | ) |
|
|
overridevirtual |
Lê a jogada do jogador atual (versão não utilizada).
Este método é mantido para compatibilidade com a interface base, mas não é utilizado no Reversi, pois o jogo requer a escolha de linha e coluna.
- Parameters
-
| [out] | linha | Linha (não utilizada no Reversi). |
Implements Jogo.
◆ lerJogada() [2/2]
| void Reversi::lerJogada |
( |
int & | linha, |
|
|
int & | coluna ) |
|
overridevirtual |
Lê a jogada do jogador atual.
Solicita ao jogador atual que insira a linha e a coluna onde deseja jogar.
- Parameters
-
| [out] | linha | Linha escolhida pelo jogador (1-8). |
| [out] | coluna | Coluna escolhida pelo jogador (1-8). |
Implements Jogo.
◆ podeCapturar()
| bool Reversi::podeCapturar |
( |
int | linha, |
|
|
int | coluna, |
|
|
int | deltaLinha, |
|
|
int | deltaColuna ) const |
|
private |
Verifica se é possível capturar peças em uma direção.
Verifica se, a partir de uma posição específica, é possível capturar peças do oponente em uma direção dada por deltaLinha e deltaColuna.
- Parameters
-
| [in] | linha | Linha da posição inicial. |
| [in] | coluna | Coluna da posição inicial. |
| [in] | deltaLinha | Direção vertical da verificação (-1, 0, 1). |
| [in] | deltaColuna | Direção horizontal da verificação (-1, 0, 1). |
- Returns
- true Se a captura é possível.
-
false Caso contrário.
◆ validarJogada() [1/2]
| bool Reversi::validarJogada |
( |
int | linha | ) |
|
|
overridevirtual |
Valida a jogada do jogador (versão não utilizada).
Este método é mantido para compatibilidade com a interface base, mas não é utilizado no Reversi, pois o jogo requer a escolha de linha e coluna.
- Parameters
-
| [in] | linha | Linha (não utilizada no Reversi). |
- Returns
- true Se a jogada é válida.
-
false Se a jogada é inválida.
Implements Jogo.
◆ validarJogada() [2/2]
| bool Reversi::validarJogada |
( |
int | linha, |
|
|
int | coluna ) |
|
overridevirtual |
Valida a jogada do jogador.
Verifica se a posição escolhida é válida e se resulta em captura de peças do oponente.
- Parameters
-
| [in] | linha | Linha escolhida pelo jogador. |
| [in] | coluna | Coluna escolhida pelo jogador. |
- Returns
- true Se a jogada é válida.
-
false Se a jogada é inválida.
Implements Jogo.
◆ validarVitoria()
| bool Reversi::validarVitoria |
( |
| ) |
|
|
overridevirtual |
Verifica se há um vencedor ou empate.
Verifica se o jogo terminou (tabuleiro cheio ou sem jogadas válidas) e determina o vencedor com base na contagem de peças.
- Returns
- true Se houver um vencedor ou empate.
-
false Se o jogo deve continuar.
Implements Jogo.
◆ jogadorAtual
| int Reversi::jogadorAtual |
|
private |
Indica o jogador atual (1 ou 2).
The documentation for this class was generated from the following files: