File size: 2,191 Bytes
0ef7a64
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
/*

Name:Wong Pui Shan

Sdutent ID:52611804

program: AScISD

Name: HAR Chiu Kwong Samson

Sdutent ID:52629360

program: AScISD

Name: LAM Cheuk Man 

Sdutent ID:52621140

program: AScISD

Name:KO Jeffrey KO

Sdutent ID:525 695 30

program: AScISD



*/
#include "Game.h"
#include "Maze.h"
#include "Utilities.h"
#include<iostream>
using namespace std;

Game::Game()
{
			level = 1;
			life = 3;
			point = 0;
			loopGame = true;
			addLife = 0;
}

void Game::setPoint(int x)

{
	point += x;
}
void Game::print1()

{
	//show the level and Game Point
	// Extra Life when user meet more than 8888 points
	cout << "Level: " << level << "\tGP:" << point << endl;
	bool check = false;
	if(point > 8888 && addLife==0 )
	{
		check = true;
		while(check)
		{
			extraLife();
			check = false;
			addLife++;
		}
	}

}

void Game::print2()

{
	cout << "Life left: " << life << "    ";

	switch(level){
	case 1:
	cout << "Fruit:Cherry " <<  endl;
	break;
	case 2:
	cout << "Fruit:Strayberry " <<  endl;
	break;
	case 3:
	cout << "Fruit:Orange " <<  endl;
	break;
	}
}

int Game::getPoint()

{
	return point;
}

void Game::Move(Maze m,Utilities u)

{
	u.gotoXY(0,18);
	u.changeColour(FOREGROUND_WHITE);
	Game::print1();
	Game::print2();
	u.gotoXY(0,20);
	cout << "                     ";
	u.gotoXY(0,20);
	cout << "Remain Dot: "<< m.getTotalDot() << endl;
	cout << "Press p to pause";
	u.changeColour(FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE);
}

int Game::GetLife(){
	return life;
}

void Game::setLife()

{
	life = 3;
}

void Game::extraLife()

{
	life++;
}

bool Game::getLoopGameBool()

{
	return loopGame;
}

void Game::setLoopGameBool(bool temp)

{
	loopGame = temp;
}

void Game::checkForUpLevel(Maze &m)

{
	if (m.getTotalDot()==0)
	{
		setGameLevel();
		setLoopGameBool(false);
	}
}


void Game::setGameLevel()

{
	level++;
}

int Game::getGameLevel()

{
	return level;
}

void Game:: setReplayBool(bool temp)
{
	replay = temp;
}

bool Game::getReplayBool()

{
	return replay;
}

void Game::gameReset()

{
	level = 1;
	life = 3;
	point = 0;
	loopGame = true;
}