-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGame.cpp
More file actions
47 lines (44 loc) · 1.68 KB
/
Copy pathGame.cpp
File metadata and controls
47 lines (44 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//
// Created by lapo on 08/06/22.
//
#include "Game.h"
#include "MainMenuState.h"
#include"iostream"
Game::Game() {
data->window.create(sf::VideoMode::getDesktopMode(), "da Game",sf::Style::Fullscreen
);
data->lenght=data->window.getSize().x;
data->width=data->window.getSize().y;
data->music1.setVolume(0);
data->music1.setLoop(true);
data->music1.openFromFile("./music/elevator.wav");
data->music1.play();
data->music2.setVolume(0);
data->music2.setLoop(false);
data->music2.openFromFile("./music/oof.wav");
data->music3.setVolume(0);
data->music3.setLoop(false);
data->music3.openFromFile("./music/ding.wav");
data->music4.setVolume(0);
data->music4.setLoop(false);
data->music4.openFromFile("./music/ping.wav");
sf::Vector2<unsigned int>ciao{unsigned(int(data->lenght)),unsigned(int(data->width))};
data->window.setSize(ciao);
data->machine.AddState(StateRef(new MainMenuState(this->data)));
data->font.loadFromFile("font.ttf");
this->Run();
}
void Game::Run() {
while (this->data->window.isOpen()) {
if(data->machine.isReplace()) {
data->machine.AddState(data->machine.getNewState());
data->machine.setReplace(false);
}
this->data->machine.ProcessStateChanges();
this->data->machine.GetActiveState()->Update();
this->data->window.clear();
this->data->machine.GetActiveState()->Draw();
this->data->window.display();
this->data->machine.GetActiveState()->HandleInput();
}
}