-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
56 lines (53 loc) · 1.57 KB
/
main.cpp
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
47
48
49
50
51
52
53
54
55
56
#include<iostream>
#include<SFML/Audio.hpp>
#include<SFML/Graphics.hpp>
#include<SFML/System.hpp>
#include"FenetreVue.h"
#include"Controleur.h"
#include"Modele.h"
#include <stdio.h>
const bool CONTROLE_FLUXVIDEO = true;
int main(){
// Fps of the game
const sf::Time ImageParSeconde = (CONTROLE_FLUXVIDEO) ? sf::seconds(1.f / 30.f) : sf::seconds(1.f / 100.f);
sf::Clock timer;
sf::Time derniereMaj = sf::Time::Zero;
Controleur ctrl(CONTROLE_FLUXVIDEO);
Modele modele(CONTROLE_FLUXVIDEO);
FenetreVue vue(600, 450, CONTROLE_FLUXVIDEO);
sf::RenderWindow* window = vue.creerFenetre();
// Clear screen
window->clear();
vue.dessiner();
// Update the window
window->display();
while (window->isOpen())
{
// Count the time for each iteration of the loop
sf::Time tempsPasser = timer.restart();
derniereMaj += tempsPasser;
// Regulate number of frame per second
while (derniereMaj > ImageParSeconde){
derniereMaj -= ImageParSeconde;
modele.genererBonus(ImageParSeconde);
ctrl.ecouterControleutilisateur(window, modele.getH().getRaquetteRef());
modele.bougerRaquette(ctrl.getSens(), ImageParSeconde.asSeconds());
modele.bougerIA(ImageParSeconde.asSeconds());
modele.bougerBalle(ImageParSeconde.asSeconds());
vue.actualiser(modele.getH(), modele.getIA(), modele.getB(), modele.getBonus(), ctrl.getCurseur());
if (CONTROLE_FLUXVIDEO){
// Clear screen
window->clear();
vue.dessiner();
// Update the window
window->display();
}
}
// Clear screen
window->clear();
vue.dessiner();
// Update the window
window->display();
}
return 0;
}