|
Base-Defense
Projeto de um jogo desenvolvido em C++/SFML da disciplina de Linguagem de Programação
|
#include <Gerenciamento_Tela.hpp>
Membros públicos | |
| gerenciamentoTela (const string &backgroundFile, const string &backgroundMenuFile, const string &musicaTemaFile, Heroi *heroi, Base *base, const Vector2f &windowSize) | |
| Construtor da classe gerenciamentoTela. Mais... | |
| void | iniciarArquivos (const string &backgroundFile, const string &backgroundMenuFile, const string &musicaTemaFile) |
| Inicializa os arquivos de imagem, fonte e música do jogo. Mais... | |
| void | setaArquivos (const Vector2f &windowSize) |
| Configura os arquivos de imagem, fonte e música do jogo. Mais... | |
| void | eventos (RenderWindow &window, const Vector2f &windowSize) |
| Gerencia os eventos de entrada do usuário para a tela atual do jogo. Mais... | |
| void | renderizar (RenderWindow &window) |
| Renderiza os objetos na tela. Mais... | |
| void | atualizar (RenderWindow &window) |
| Atualiza o estado do jogo e os objetos presentes na tela. Mais... | |
| void | setBackgroundScale (RenderWindow &window, Sprite &sprite) |
| Ajuda a ajustar a escala do fundo da tela. Mais... | |
| void | setHeroiPosition (RenderWindow &window) |
| Define a posição do herói na tela. Mais... | |
| Vector2f | getPosicaoRandom (const Vector2u &windowSize) |
| Retorna uma posição aleatória na tela. Mais... | |
| void | atualizarProjeteisInimigos (float deltaTime, RenderWindow &window) |
| Atualiza a posição dos projéteis inimigos na tela. Mais... | |
| void | renderizarProjeteisInimigos (RenderWindow &window) |
| Renderiza os projéteis inimigos na tela. Mais... | |
| void | atualizarDrop (RenderWindow &window) |
| Atualiza a posição dos drops na tela. Mais... | |
| bool | atualizarDrops (RenderWindow &window) |
| Atualiza os drops e remove os que já passaram do tempo de desaparecer. Mais... | |
| int | getRandomChanceDrop () |
| Retorna um valor aleatório para a chance de drop. Mais... | |
| int | getRandomInimigo () |
| Retorna um valor aleatório para o tipo de inimigo. Mais... | |
| void | setFimDeJogo () |
| Gerencia o fim do jogo. Mais... | |
| void | setKills () |
| Gerencia a renderização das kills na tela. Mais... | |
| void | waveInimigos () |
| Gerencia o spawn de inimigos em waves. Mais... | |
| void | resetarJogo (const Vector2f &windowSize) |
| Reseta os valores do jogo para o estado inicial. Mais... | |
| gerenciamentoTela::gerenciamentoTela | ( | const string & | backgroundFile, |
| const string & | backgroundMenuFile, | ||
| const string & | musicaTemaFile, | ||
| Heroi * | heroi, | ||
| Base * | base, | ||
| const Vector2f & | windowSize | ||
| ) |
Construtor da classe gerenciamentoTela.
Este construtor inicializa a tela do jogo, carregando imagens e fontes, configurando texturas e sprites, e configurando a música de fundo. Também configura os elementos do menu e outras variáveis necessárias para o gerenciamento da tela do jogo.
| backgroundFile | O caminho para o arquivo de imagem do fundo da tela. |
| backgroundMenuFile | O caminho para o arquivo de imagem do fundo do menu. |
| musicaTemaFile | O caminho para o arquivo de música de fundo. |
| heroi | Ponteiro para o objeto do tipo Heroi, representando o herói no jogo. |
| base | Ponteiro para o objeto do tipo Base, representando a base no jogo. |
| windowSize | Tamanho da janela do jogo (largura e altura). |
| void gerenciamentoTela::atualizar | ( | RenderWindow & | window | ) |
Atualiza o estado do jogo e os objetos presentes na tela.
Esta função é responsável por atualizar a posição dos personagens e inimigos, verificar colisões, processar a lógica dos projéteis e gerar novos inimigos com base no tempo decorrido. Ela lida com diferentes estados do jogo, como JOGO e COOP, e realiza ações específicas dependendo do estado atual.
| window | A janela do jogo onde as atualizações são aplicadas. |
JOGO e COOP, a função realiza as seguintes ações:COOP, além das ações descritas acima, o tanque aliado também é atualizado e verifica colisões com drops e projéteis.| void gerenciamentoTela::atualizarDrop | ( | RenderWindow & | window | ) |
Atualiza a posição dos drops na tela.
| window | A janela do jogo onde as atualizações são aplicadas. |
| bool gerenciamentoTela::atualizarDrops | ( | RenderWindow & | window | ) |
Atualiza os drops e remove os que já passaram do tempo de desaparecer.
| drops | vetor de drops |
| void gerenciamentoTela::atualizarProjeteisInimigos | ( | float | deltaTime, |
| RenderWindow & | window | ||
| ) |
Atualiza a posição dos projéteis inimigos na tela.
Esta função atualiza a posição dos projéteis inimigos na tela, verificando colisões com a janela e com outros objetos.
| deltaTime | O tempo decorrido desde a última atualização. |
| window | A janela do jogo onde as atualizações são aplicadas. |
| void gerenciamentoTela::eventos | ( | RenderWindow & | window, |
| const Vector2f & | windowSize | ||
| ) |
Gerencia os eventos de entrada do usuário para a tela atual do jogo.
Esta função lida com os eventos do mouse e teclado, alterando o estado do jogo e executando ações específicas com base no estado atual da tela e nas interações do usuário. Dependendo do estado, pode lidar com eventos de clique do mouse para mudar o estado do jogo, posicionar o herói, disparar projéteis ou alterar a dificuldade do jogo.
| window | A janela do jogo onde os eventos estão sendo processados. |
MENU, a função verifica se o usuário está sobre um botão do menu e altera sua cor. Quando um botão é clicado, o estado do jogo é alterado conforme o botão clicado:JOGO.COOP e cria um novo tanque.DIFICULDADE.JOGO, a função permite que o usuário:COOP, além das ações do estado JOGO, o usuário pode:DIFICULDADE, a função verifica a posição do mouse sobre os botões de dificuldade e altera a dificuldade do jogo com base no botão clicado. Após selecionar a dificuldade, retorna ao estado MENU. | Vector2f gerenciamentoTela::getPosicaoRandom | ( | const Vector2u & | windowSize | ) |
Retorna uma posição aleatória na tela.
Esta função retorna uma posição aleatória na tela com base no tamanho da janela.
| windowSize | O tamanho da janela do jogo. |
| int gerenciamentoTela::getRandomChanceDrop | ( | ) |
Retorna um valor aleatório para a chance de drop.
| int gerenciamentoTela::getRandomInimigo | ( | ) |
Retorna um valor aleatório para o tipo de inimigo.
| void gerenciamentoTela::iniciarArquivos | ( | const string & | backgroundFile, |
| const string & | backgroundMenuFile, | ||
| const string & | musicaTemaFile | ||
| ) |
Inicializa os arquivos de imagem, fonte e música do jogo.
Esta função carrega os arquivos de imagem, fonte e música do jogo, exibindo mensagens de erro caso ocorra algum problema durante o carregamento dos arquivos.
| backgroundFile | O caminho para o arquivo de imagem do fundo da tela. |
| backgroundMenuFile | O caminho para o arquivo de imagem do fundo do menu. |
| musicaTemaFile | O caminho para o arquivo de música de fundo. |
| void gerenciamentoTela::renderizar | ( | RenderWindow & | window | ) |
Renderiza os objetos na tela.
Esta função renderiza os objetos na tela, como o fundo, os botões do menu, os inimigos, os projéteis e os drops.
| window | A janela do jogo onde os objetos são renderizados. |
MENU, a função renderiza o fundo e os botões do menu.DIFICULDADE, a função renderiza o fundo e os botões de dificuldade.JOGO e COOP, a função renderiza o fundo, o herói, a base, os inimigos, os projéteis e os drops.GAMEOVER, a função renderiza um círculo vermelho na tela.COOP, a função renderiza o tanque aliado. | void gerenciamentoTela::renderizarProjeteisInimigos | ( | RenderWindow & | window | ) |
Renderiza os projéteis inimigos na tela.
Esta função renderiza os projéteis inimigos na tela, exibindo os projéteis disparados pelos inimigos.
| window | A janela do jogo onde os projéteis são renderizados. |
| void gerenciamentoTela::resetarJogo | ( | const Vector2f & | windowSize | ) |
Reseta os valores do jogo para o estado inicial.
Esta função reseta os valores do jogo para o estado inicial, zerando a vida do herói, a vida da base, a quantidade de inimigos
| void gerenciamentoTela::setaArquivos | ( | const Vector2f & | windowSize | ) |
Configura os arquivos de imagem, fonte e música do jogo.
Esta função configura os arquivos de imagem, fonte e música do jogo, definindo texturas e sprites para o fundo da tela, o fundo do menu, os botões do menu, a música de fundo e o texto do menu.
| windowSize | O tamanho da janela do jogo (largura e altura). |
| void gerenciamentoTela::setBackgroundScale | ( | RenderWindow & | window, |
| Sprite & | sprite | ||
| ) |
Ajuda a ajustar a escala do fundo da tela.
Esta função ajusta a escala do fundo da tela com base no tamanho da janela do jogo.
| window | A janela do jogo. |
| sprite | O sprite do fundo da tela. |
| void gerenciamentoTela::setFimDeJogo | ( | ) |
Gerencia o fim do jogo.
Esta função verifica se o jogo chegou ao fim, alterando o estado do jogo para GAMEOVER caso o herói ou a base tenham sido destruídos ou o tempo de jogo tenha se esgotado.
| void gerenciamentoTela::setHeroiPosition | ( | RenderWindow & | window | ) |
Define a posição do herói na tela.
Esta função define a posição do herói na tela com base na posição do mouse.
| window | A janela do jogo. |
| void gerenciamentoTela::setKills | ( | ) |
Gerencia a renderização das kills na tela.
Esta função renderiza o texto das kills na tela, exibindo a quantidade de inimigos eliminados pelo jogador.
| void gerenciamentoTela::waveInimigos | ( | ) |
Gerencia o spawn de inimigos em waves.
Esta função gerencia o spawn de inimigos em waves, ajustando o tempo de spawn de inimigos com base no tempo decorrido.