-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGame.hpp
More file actions
70 lines (57 loc) · 1.64 KB
/
Game.hpp
File metadata and controls
70 lines (57 loc) · 1.64 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/*******************************************************************************
* ** Author: Gavin Slusher
* ** Date: 6/2/2019
* ** Description: Game class Specification file. Contains game logic to house
* Spaces, link, declare, and create the scenes between them.
* Also contains logic to play the game until a Space returns
* a condition that ends it.
* ** *************************************************************************/
#ifndef GAME_HPP
#define GAME_HPP
#include "Space.hpp"
#include "Camp.hpp"
#include "Cabin.hpp"
#include "Forest.hpp"
const int CABIN_WIDTH = 7;
const int CABIN_HEIGHT = 5;
const int FOREST_WIDTH = 14;
const int FOREST_HEIGHT = 7;
class Game
{
protected:
//Spaces
Camp camp;
Cabin cabin;
Cabin2 cabin2;
Cabin3 cabin3;
Forest forest;
ForestBR forestBR;
ForestTR forestTR;
ForestTL forestTL;
Space *currentSpace;
bool solvedRiddle;
bool checkEnd;
//Game variables
int steps;
public:
Game();
//~Game();
void mainGame();
void initializeGame();
void setCurrentSpace(Space *);
//Scenes / Descriptors
void playIntro();
void setCampScene();
void setDefaultCamp();
void setCabinScene();
void setDefaultCabin();
void setForestScene();
void setDefaultForest();
//Ending Screens
void goodEnding();
void neutralEnding1();
void neutralEnding2();
void badEnding1();
void badEnding2();
};
#endif