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

Classe que implementa o jogo da velha. More...

#include <Jogo_da_Velha.hpp>

Inheritance diagram for JogoDaVelha:
Collaboration diagram for JogoDaVelha:

Public Member Functions

 JogoDaVelha ()
 Construtor da classe JogoDaVelha.
 
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.
 
bool validarJogada (int linha, int coluna) override
 Valida a jogada do jogador.
 
bool validarJogada (int linha) override
 Valida a jogada do jogador (versão não utilizada).
 
bool validarVitoria () override
 Verifica se há um vencedor ou empate.
 
int getJogadorAtual () override
 Retorna o jogador atual.
 
- Public Member Functions inherited from Jogo
 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.
 

Private Attributes

int jogadorAtual
 Indica o jogador atual (1 ou 2).
 

Additional Inherited Members

- Protected Attributes inherited from Jogo
const std::string nomeJogo
 Nome do jogo.
 
Tabuleiro tabuleiro
 Tabuleiro do jogo.
 

Detailed Description

Classe que implementa o jogo da velha.

O jogo da velha é um jogo de estratégia em que dois jogadores alternam turnos para marcar espaços em um tabuleiro 3x3. A classe herda da classe base Jogo e implementa seus métodos virtuais.

Constructor & Destructor Documentation

◆ JogoDaVelha()

JogoDaVelha::JogoDaVelha ( )

Construtor da classe JogoDaVelha.

Inicializa o jogo com um tabuleiro 3x3 e define o jogador 1 como o primeiro a jogar.

Here is the call graph for this function:

Member Function Documentation

◆ getJogadorAtual()

int JogoDaVelha::getJogadorAtual ( )
overridevirtual

Retorna o jogador atual.

Returns
int O jogador atual (1 ou 2).

Implements Jogo.

◆ iniciar()

void JogoDaVelha::iniciar ( )
overridevirtual

Inicializa o jogo.

Exibe uma mensagem de boas-vindas e prepara o tabuleiro para o início do jogo.

Implements Jogo.

◆ lerJogada() [1/2]

void JogoDaVelha::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 jogo da velha, pois o jogo requer a escolha de linha e coluna.

Parameters
[out]linhaLinha (não utilizada no jogo da velha).

Implements Jogo.

◆ lerJogada() [2/2]

void JogoDaVelha::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]linhaLinha escolhida pelo jogador (1-3).
[out]colunaColuna escolhida pelo jogador (1-3).

Implements Jogo.

◆ validarJogada() [1/2]

bool JogoDaVelha::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 jogo da velha, pois o jogo requer a escolha de linha e coluna.

Parameters
[in]linhaLinha (não utilizada no jogo da velha).
Returns
true Se a jogada é válida.
false Se a jogada é inválida.

Implements Jogo.

◆ validarJogada() [2/2]

bool JogoDaVelha::validarJogada ( int linha,
int coluna )
overridevirtual

Valida a jogada do jogador.

Verifica se a posição escolhida é válida e se está vazia.

Parameters
[in]linhaLinha escolhida pelo jogador.
[in]colunaColuna escolhida pelo jogador.
Returns
true Se a jogada é válida.
false Se a jogada é inválida (posição ocupada ou fora do intervalo).

Implements Jogo.

◆ validarVitoria()

bool JogoDaVelha::validarVitoria ( )
overridevirtual

Verifica se há um vencedor ou empate.

Verifica todas as possíveis combinações de três marcas consecutivas no tabuleiro (horizontal, vertical e diagonal) para determinar se o jogo terminou.

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

Implements Jogo.

Member Data Documentation

◆ jogadorAtual

int JogoDaVelha::jogadorAtual
private

Indica o jogador atual (1 ou 2).


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