-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMarioBrosUnibo.cpp
59 lines (44 loc) · 1.88 KB
/
MarioBrosUnibo.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
57
58
59
/*
INFO:
Gestione dello schermo -> X incrementano spostandosi a destra, Y incremento spostandosi in basso. Punto in alto a sx ha coordinate (0,0), in realtà sarebbero (1,1) perchè riga 0 e colonna 0 vengono usate per stampare i bordi di gioco
Entity -> classe generica da cui fare ereditare le varie entità presenti nello spazio di gioco (player, enemies, bonus, ...)
-> contiene varie funzioni generiche per ridurre la ridondanza nelle classi figlio (es. modifica della posizione delle entità)
Screen -> costruttore accetta altezza e larghezza, genera la prima schermata di gioco con piattaforme e nemici
-> contiene la lista di schermate usata per generare dinamicamente il mondo e tenere traccia in memoria degli schermi precedenti
-> metodo print che stampa sia i bordi dello schermo, sia le piattaforme
*/
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include "Funzioni.h"
#include "Player.h"
#include "Entity.h"
#include "Screen.h"
using namespace std;
int width = 50, height = 10; // 'height' != dispari
Player p = Player(0, height-2, '@', 0, 2);
Screen schermo = Screen(width, height);
bool gameOver = false;
int main()
{
Cursore(false);
WaitScreen();
while (!gameOver)
{
//Clear();
// Creazione del gestore per gli input da tastiera
Movement(&gameOver, p, schermo);
Handler(width, height, &gameOver, p, schermo);
// Stampa a schermo di tutte le componenti del livello
schermo.print();
p.print();
PrintInfo(width, height, p, schermo);
Sleep(50);
}
Clear();
cout << "GAME OVER";
}