Base-Defense
Projeto de um jogo desenvolvido em C++/SFML da disciplina de Linguagem de Programação
Gerenciamento_Tela.hpp
Ir para a documentação deste ficheiro.
1 #ifndef GERENCIAMENTO_TELA_HPP
2 #define GERENCIAMENTO_TELA_HPP
3 
4 #include <SFML/Audio.hpp>
5 #include <SFML/Graphics.hpp>
6 #include "../include/heroi.hpp"
7 #include "../include/base.hpp"
8 #include "../include/inimigo.hpp"
9 #include "../include/tank.hpp"
10 #include "../include/inimigoTank.hpp"
11 #include "../include/runner.hpp"
12 #include <vector>
13 
14 using namespace sf;
15 using namespace std;
16 
17 
18 
20  public:
21  gerenciamentoTela(const string& backgroundFile,const string& backgroundMenuFile, const string& musicaTemaFile, Heroi *heroi, Base *base, const Vector2f& windowSize);
22  void iniciarArquivos(const string& backgroundFile, const string& backgroundMenuFile,const string& musicaTemaFile);
23  void setaArquivos(const Vector2f& windowSize);
24  void eventos(RenderWindow& window, const Vector2f& windowSize);
25  void renderizar(RenderWindow& window);
26  void atualizar(RenderWindow& window);
27  void setBackgroundScale(RenderWindow& window, Sprite& sprite);
28  void setHeroiPosition(RenderWindow& window);
29  Vector2f getPosicaoRandom(const Vector2u& windowSize);
30 
31  void atualizarProjeteisInimigos(float deltaTime, RenderWindow& window);
32  void renderizarProjeteisInimigos(RenderWindow& window);
33 
34  void atualizarDrop(RenderWindow& window);
35  bool atualizarDrops(RenderWindow& window);
36 
37  int getRandomChanceDrop();
38  int getRandomInimigo();
39 
40  void setFimDeJogo();
41  void setKills();
42 
43  void waveInimigos();
44 
45  void resetarJogo(const Vector2f& windowSize);
46 
47  private:
48  Texture background;
49  Texture background_menu;
50  Texture texturaProjetil;
51  Sprite backgroundSprite;
52  Sprite backgroundSprite_menu;
53  Text textoMenu;
54  Music musicaTema;
55  Music musicaGameOver;
56  Sound escolhaMenu;
57  SoundBuffer bufferEscolhaMenu;
58  Heroi *heroi;
59  Base *base;
60  Tank *tank;
61  Inimigo *inimigo;
62  Inimigo *runner;
63  InimigoTank *inimigoTank;
64  vector<Inimigo *> inimigos;
65  vector<Runner *> runners;
66  vector<InimigoTank *> tanks;
67  int inimigoTankVida = 2;
68  vector<Projetil *> projeteis;
69  vector<sf::Text> botoesMenu;
70  vector<sf::Text> botoesDificuldade;
71  vector<Projetil> projeteisInimigos;
72 
73 
74  Font font;
75  Font fontGame;
76  Clock spawRelogio;
77  const Time SPAWN_FACIL = seconds(3);
78  const Time SPAWN_NORMAL = seconds(2);
79  const Time SPAWN_DIFICIL = seconds(1);
80  Time spawnInimigo = seconds(0.2f);
81  Time waveInimigo = SPAWN_NORMAL;
82  Clock waveRelogio;
83  Clock relogio;
84  enum class Estado {MENU, DIFICULDADE, JOGO, COOP, GAMEOVER, PAUSE};
85  Estado estado = Estado::MENU;
86 
87  Time intervaloDisparo;
88  string projetilFile;
89  Sprite backgroundSprite_projetil;
90 
91  Texture texturaDrop;
92  Texture texturaDrop1;
93  Texture texturaDrop2;
94  Sprite spriteDrop;
95  Sprite spriteDrop1;
96  Sprite spriteDrop2;
97  vector<Drop> drops;
98 
99  int Kills=0;
100  Text textoKills;
101 
102  bool regenerarVidaBase = false;
103  bool aumentarVidaBase = false;
104  int upLimite = 0;
105 
106 
107 };
108 #endif // GERENCIAMENTO_TELA_HPP
Definition: base.hpp:8
Definition: heroi.hpp:12
Definition: inimigoTank.hpp:7
Definition: inimigo.hpp:13
Definition: tank.hpp:11
Definition: Gerenciamento_Tela.hpp:19