TP_PDS2
Sistema para gestão de jogadores e execução de jogos clássicos
 
Loading...
Searching...
No Matches
Jogo Class Referenceabstract

Classe abstrata que representa um jogo de tabuleiro. More...

#include <Jogo.hpp>

Inheritance diagram for Jogo:
Collaboration diagram for Jogo:

Public Member Functions

 Jogo (const std::string &nome, int linhas, int colunas)
 Construtor da classe Jogo.
 
virtual void iniciar ()=0
 Inicializa o jogo.
 
virtual void lerJogada (int &linha, int &coluna)=0
 Lê a jogada do jogador atual.
 
virtual void lerJogada (int &coluna)=0
 Lê a jogada do jogador atual (versão para Connect 4).
 
virtual bool validarJogada (int linha, int coluna)=0
 Valida a jogada do jogador.
 
virtual bool validarJogada (int coluna)=0
 Valida a jogada do jogador (versão para Connect 4).
 
virtual bool validarVitoria ()=0
 Verifica se há um vencedor ou empate.
 
void exibirTabuleiro () const
 Exibe o tabuleiro do jogo.
 
virtual int getJogadorAtual ()=0
 Retorna o jogador atual.
 
virtual ~Jogo ()=default
 Destrutor virtual da classe Jogo.
 

Protected Attributes

const std::string nomeJogo
 Nome do jogo.
 
Tabuleiro tabuleiro
 Tabuleiro do jogo.
 

Detailed Description

Classe abstrata que representa um jogo de tabuleiro.

A classe Jogo define a interface básica para jogos de tabuleiro, incluindo métodos para gerenciar o estado do jogo, interagir com os jogadores e verificar condições de vitória. Classes derivadas devem implementar esses métodos para criar jogos específicos.

Constructor & Destructor Documentation

◆ Jogo()

Jogo::Jogo ( const std::string & nome,
int linhas,
int colunas )
inline

Construtor da classe Jogo.

Inicializa o jogo com um nome e as dimensões do tabuleiro.

Parameters
[in]nomeNome do jogo.
[in]linhasNúmero de linhas do tabuleiro.
[in]colunasNúmero de colunas do tabuleiro.
Here is the caller graph for this function:

◆ ~Jogo()

virtual Jogo::~Jogo ( )
virtualdefault

Destrutor virtual da classe Jogo.

Garante que o destrutor das classes derivadas seja chamado corretamente.

Member Function Documentation

◆ exibirTabuleiro()

void Jogo::exibirTabuleiro ( ) const
inline

Exibe o tabuleiro do jogo.

Chama o método exibirTabuleiro da classe Tabuleiro para mostrar o estado atual do jogo.

Here is the caller graph for this function:

◆ getJogadorAtual()

virtual int Jogo::getJogadorAtual ( )
pure virtual

Retorna o jogador atual.

Método puramente virtual que deve ser implementado pelas classes derivadas para retornar o jogador atual (1 ou 2).

Returns
int O jogador atual.

Implemented in Connect4, JogoDaVelha, and Reversi.

Here is the caller graph for this function:

◆ iniciar()

virtual void Jogo::iniciar ( )
pure virtual

Inicializa o jogo.

Método puramente virtual que deve ser implementado pelas classes derivadas para configurar o estado inicial do jogo.

Implemented in Connect4, JogoDaVelha, and Reversi.

Here is the caller graph for this function:

◆ lerJogada() [1/2]

virtual void Jogo::lerJogada ( int & coluna)
pure virtual

Lê a jogada do jogador atual (versão para Connect 4).

Método puramente virtual que deve ser implementado pelas classes derivadas para ler a jogada do jogador atual (apenas coluna).

Parameters
[out]colunaColuna escolhida pelo jogador.

Implemented in Connect4, JogoDaVelha, and Reversi.

◆ lerJogada() [2/2]

virtual void Jogo::lerJogada ( int & linha,
int & coluna )
pure virtual

Lê a jogada do jogador atual.

Método puramente virtual que deve ser implementado pelas classes derivadas para ler a jogada do jogador atual (linha e coluna).

Parameters
[out]linhaLinha escolhida pelo jogador.
[out]colunaColuna escolhida pelo jogador.

Implemented in Connect4, JogoDaVelha, and Reversi.

Here is the caller graph for this function:

◆ validarJogada() [1/2]

virtual bool Jogo::validarJogada ( int coluna)
pure virtual

Valida a jogada do jogador (versão para Connect 4).

Método puramente virtual que deve ser implementado pelas classes derivadas para validar se a jogada é permitida (apenas coluna).

Parameters
[in]colunaColuna escolhida pelo jogador.
Returns
true Se a jogada é válida.
false Se a jogada é inválida.

Implemented in Connect4, JogoDaVelha, and Reversi.

◆ validarJogada() [2/2]

virtual bool Jogo::validarJogada ( int linha,
int coluna )
pure virtual

Valida a jogada do jogador.

Método puramente virtual que deve ser implementado pelas classes derivadas para validar se a jogada é permitida.

Parameters
[in]linhaLinha escolhida pelo jogador.
[in]colunaColuna escolhida pelo jogador.
Returns
true Se a jogada é válida.
false Se a jogada é inválida.

Implemented in Connect4, JogoDaVelha, and Reversi.

Here is the caller graph for this function:

◆ validarVitoria()

virtual bool Jogo::validarVitoria ( )
pure virtual

Verifica se há um vencedor ou empate.

Método puramente virtual que deve ser implementado pelas classes derivadas para verificar se o jogo terminou com uma vitória ou empate.

Returns
true Se houver um vencedor ou empate.
false Se o jogo deve continuar.

Implemented in Connect4, JogoDaVelha, and Reversi.

Here is the caller graph for this function:

Member Data Documentation

◆ nomeJogo

const std::string Jogo::nomeJogo
protected

Nome do jogo.

◆ tabuleiro

Tabuleiro Jogo::tabuleiro
protected

Tabuleiro do jogo.


The documentation for this class was generated from the following file: