This repository was archived by the owner on Aug 2, 2024. It is now read-only.
forked from aNdReA9111/1-VS-All-phabet
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMap.hpp
More file actions
42 lines (39 loc) · 1.92 KB
/
Map.hpp
File metadata and controls
42 lines (39 loc) · 1.92 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
#include <cstring>
#include <ctime>
#include <fstream>
#define MAX_H 40
#define MAX_W 80
class Map {
protected:
int height; // altezza mappa
int width; // larghezza mappa
char matrix[MAX_H][MAX_W]; // mappa sotto forma di matrice
int coins = 5; // numero di monete generate nella mappa
public:
Map(int h = 40, int w = 80, int l = 1); // costruttore
Map(char *filename); // costruttore da file
char getMapChar(int y, int x); // ottiene il carattere alla posizione (x,y)
void setMapChar(int y, int x,
char c); // setta il carattere alla posizione (x,y)
int getWidth(); // ritorna la larghezza della mappa
int getHeight(); // ritorna l'altezza della mappa
int getCoins(); // ritorna il numero di monete rimanenti
void setCoins(int coins); // setta il numero di monete rimanenti
void readMap(char *filePath); // lettura mappa da file
void writeMap(int level, char *nickPlayer); // scrittura mappa da file
bool isEmpty(int x,
int y); // dice se la cella (x,y) è vuota, proiettile o moneta
bool isMoney(int x, int y); // dice se la cella (x,y) è una moneta
bool isMonster(int x, int y); // dice se la cella (x,y) è un mostro
bool isTurret(int x, int y); // dice se la cella (x,y) è una torretta
bool isPortal(int x, int y); // dice se la cella (x,y) è un portale
bool
isInside(int x,
int y); // dice se la cella (x,y) è nel range dei possibili valori
void clean(); // al momento del salvataggio della mappa rimuove i proiettili
// dalla mappa
bool protagonistInNextPortal(); // controlla che il player sia nel portale per
// andare al livello successivo
bool protagonistInPrevPortal(); // controlla che il player sia nel portale per
// andare al livello precedente
};