Base-Defense
Projeto de um jogo desenvolvido em C++/SFML da disciplina de Linguagem de Programação
Membros públicos | Atributos Protegidos | Mostrar lista completa dos membros
Referência à classe Heroi

#include <heroi.hpp>

Diagrama de heranças da classe Heroi
Tank

Membros públicos

 Heroi (int vida, const string &heroiFile, const Font &fonte)
 Construtor da classe Heroi. Mais...
 
virtual Sprite getSprite () const
 Retorna o sprite do herói. Mais...
 
void definirPosicao (const Vector2f &posicao)
 Define a posição do herói. Mais...
 
virtual void mover ()
 Move o herói. Mais...
 
void atirar (const Vector2f &direcao)
 Atira um projetil na direção passada como parâmetro. Mais...
 
void atualizarProjeteis (float deltaTime)
 Atualiza a posição dos projeteis. Mais...
 
int getVida ()
 Retorna a vida do herói. Mais...
 
void setVida (int novaVida)
 Define a vida do herói. Mais...
 
void setMunicao ()
 
virtual void RecuperarVida ()
 Recupera a vida do herói. Mais...
 
void RecuperarMunicao ()
 Recupera a quantidade de projeteis. Mais...
 
void TomarDano ()
 
void darMunicao ()
 Diminui a quantidade de projeteis. Mais...
 
Vector2f getPosicao ()
 retorna a posição do herói Mais...
 
virtual bool verificarColisao (const Sprite &sprite)
 Verifica colisão com um sprite. Mais...
 
virtual bool verificarColisaoDrop (const Sprite &sprite)
 Verifica colisão com um drop. Mais...
 
virtual void renderizar (RenderWindow &window)
 Renderiza o herói. Mais...
 
vector< Projetil > & getProjeteis ()
 Retorna o vetor de projeteis. Mais...
 
int getRandomQuantidadeProjetil ()
 Retorna um número aleatório de projeteis. Mais...
 

Atributos Protegidos

int vida
 
float velocidade = 300.0f
 
Text textoVida
 
int barraIndex = 0
 
IntRect barra1 = IntRect(0, 0, 236, 20)
 
IntRect barra2 = IntRect(23.6, 0, 236, 20)
 
IntRect barra3 = IntRect(47.2, 0, 236, 20)
 
IntRect barra4 = IntRect(70.8, 0, 236, 20)
 
IntRect barra5 = IntRect(94.4, 0, 236, 20)
 
IntRect barra6 = IntRect(118, 0, 236, 20)
 
IntRect barra7 = IntRect(141.6, 0, 236, 20)
 
IntRect barra8 = IntRect(165.2, 0, 236, 20)
 
IntRect barra9 = IntRect(188.8, 0, 236, 20)
 
IntRect barra10 = IntRect(212.4, 0, 236, 20)
 
vector< IntRect > barrasVida = {barra1, barra2, barra3, barra4, barra5, barra6, barra7, barra8, barra9, barra10}
 
Texture barraVida
 
Sprite barraSprite
 

Documentação dos Construtores & Destrutor

◆ Heroi()

Heroi::Heroi ( int  vida,
const string &  heroiFile,
const Font &  font 
)

Construtor da classe Heroi.

Este construtor inicializa o herói com uma certa quantidade de vida, uma imagem, e uma fonte para o texto.

Parâmetros
vidaVida do herói
heroiFileArquivo de imagem do herói
fontFonte do texto

Documentação dos métodos

◆ atirar()

void Heroi::atirar ( const Vector2f &  direcao)

Atira um projetil na direção passada como parâmetro.

Este método verifica se a quantidade de projeteis é maior que 0. Se for, decrementa a quantidade de projeteis e cria um novo projetil na direção passada como parâmetro.

Parâmetros
direcaoDireção do projetil de acordo com a posição do mouse

◆ atualizarProjeteis()

void Heroi::atualizarProjeteis ( float  deltaTime)

Atualiza a posição dos projeteis.

Este método atualiza a posição de todos os projeteis do vetor de projeteis.

Parâmetros
deltaTime

◆ darMunicao()

void Heroi::darMunicao ( )

Diminui a quantidade de projeteis.

Diminui a quantidade de projeteis em 5.

◆ definirPosicao()

void Heroi::definirPosicao ( const Vector2f &  novaPosicao)

Define a posição do herói.

Define a posição do herói para a nova posição passada como parâmetro.

Parâmetros
novaPosicao

◆ getPosicao()

Vector2f Heroi::getPosicao ( )

retorna a posição do herói

Retorna
Vector2f: Posição do herói

◆ getProjeteis()

vector< Projetil > & Heroi::getProjeteis ( )

Retorna o vetor de projeteis.

Retorna
vector<Projetil>& Vetor de projeteis

◆ getRandomQuantidadeProjetil()

int Heroi::getRandomQuantidadeProjetil ( )

Retorna um número aleatório de projeteis.

Retorna
int Número aleatório de projeteis entre 0 e 10

◆ getSprite()

Sprite Heroi::getSprite ( ) const
virtual

Retorna o sprite do herói.

Retorna
Sprite do herói

Reimplementado em Tank.

◆ getVida()

int Heroi::getVida ( )

Retorna a vida do herói.

Retorna
int Vida do herói

◆ mover()

void Heroi::mover ( )
virtual

Move o herói.

Move o herói para a posição definida se a distância entre a posição atual e a nova posição for maior que 1.0f.

Reimplementado em Tank.

◆ RecuperarMunicao()

void Heroi::RecuperarMunicao ( )

Recupera a quantidade de projeteis.

Recupera uma quantidade aleatória de projeteis com base no método getRandomQuantidadeProjetil(). Atualiza a quantidade de projeteis no texto.

◆ RecuperarVida()

void Heroi::RecuperarVida ( )
virtual

Recupera a vida do herói.

Recupera 10 de vida do herói. Atualiza a barra de vida de acordo com a vida atual.

Reimplementado em Tank.

◆ renderizar()

void Heroi::renderizar ( RenderWindow &  window)
virtual

Renderiza o herói.

Renderiza o herói na janela passada como parâmetro. Renderiza os projeteis na janela. Renderiza o texto de vida e a barra de vida.

Parâmetros
windowJanela onde o herói será renderizado

Reimplementado em Tank.

◆ setMunicao()

void Heroi::setMunicao ( )

◆ setVida()

void Heroi::setVida ( int  novaVida)

Define a vida do herói.

Define a vida do herói para a nova vida passada como parâmetro.

Parâmetros
novaVidaNova vida do herói

◆ TomarDano()

void Heroi::TomarDano ( )

◆ verificarColisao()

bool Heroi::verificarColisao ( const Sprite &  sprite)
virtual

Verifica colisão com um sprite.

Verifica se houve colisão com um sprite passado como parâmetro. Se houver colisão, decrementa a vida do herói em 10. Atualiza a barra de vida de acordo com a vida atual.

Parâmetros
spriteSprite a ser verificado a colisão
Retorna
true Se houve colisão
false Se não houve colisão

Reimplementado em Tank.

◆ verificarColisaoDrop()

bool Heroi::verificarColisaoDrop ( const Sprite &  sprite)
virtual

Verifica colisão com um drop.

Verifica se houve colisão com um drop passado como parâmetro.

Parâmetros
spriteSprite a ser verificado a colisão
Retorna
true Se houve colisão
false Se não houve colisão

Reimplementado em Tank.

Documentação dos dados membro

◆ barra1

IntRect Heroi::barra1 = IntRect(0, 0, 236, 20)
protected

◆ barra10

IntRect Heroi::barra10 = IntRect(212.4, 0, 236, 20)
protected

◆ barra2

IntRect Heroi::barra2 = IntRect(23.6, 0, 236, 20)
protected

◆ barra3

IntRect Heroi::barra3 = IntRect(47.2, 0, 236, 20)
protected

◆ barra4

IntRect Heroi::barra4 = IntRect(70.8, 0, 236, 20)
protected

◆ barra5

IntRect Heroi::barra5 = IntRect(94.4, 0, 236, 20)
protected

◆ barra6

IntRect Heroi::barra6 = IntRect(118, 0, 236, 20)
protected

◆ barra7

IntRect Heroi::barra7 = IntRect(141.6, 0, 236, 20)
protected

◆ barra8

IntRect Heroi::barra8 = IntRect(165.2, 0, 236, 20)
protected

◆ barra9

IntRect Heroi::barra9 = IntRect(188.8, 0, 236, 20)
protected

◆ barraIndex

int Heroi::barraIndex = 0
protected

◆ barraSprite

Sprite Heroi::barraSprite
protected

◆ barrasVida

vector<IntRect> Heroi::barrasVida = {barra1, barra2, barra3, barra4, barra5, barra6, barra7, barra8, barra9, barra10}
protected

◆ barraVida

Texture Heroi::barraVida
protected

◆ textoVida

Text Heroi::textoVida
protected

◆ velocidade

float Heroi::velocidade = 300.0f
protected

◆ vida

int Heroi::vida
protected

A documentação para esta classe foi gerada a partir dos seguintes ficheiros: