-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathIntroduction_Space_Location.cpp
More file actions
191 lines (147 loc) · 6.31 KB
/
Introduction_Space_Location.cpp
File metadata and controls
191 lines (147 loc) · 6.31 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
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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
/********************************************************************************************************
** Program Name: Final Project - A Text-based Game-Introduction_Space_Location.cpp
** Author: Andrew Friedrich
** Date: 06/01/2019
** Description: This file is the Final Project - A Text-based Game - Introduction_Space_Location.cpp
** header file. This is where the game starts- the player arrives in the wavy shores
** seeking out Stilbo.
**
*********************************************************************************************************/
#include "Introduction_Space_Location.hpp"
// default constructor - sets directions to NULL and contains support characteristics
// specific to this space - such as sword / force lance
Introduction_Space_Location::Introduction_Space_Location()
{
top = NULL;
bottom = NULL;
left = NULL;
right = NULL;
space_Identifier = 1;
}
// Introduction_Space_Location::description - space description - text only.
void Introduction_Space_Location::space_Description()
{
std::cout << "You are on a shore of a distant land. The land feels evil. \n";
std::cout << "Your magical bird informs you that you cannot go to the east or west \n";
std::cout << "and the only path forward is toward a gobin camp down the hill. \n";
std::cout << "fortunately there is a great amount of cover for you to hide your approach. \n";
}
// Space * Introduction_Space_Location::space_Options - enables the user
// to interact with the space, make choices to go top/bottom/left/right
// and interact with items if available.
Space * Introduction_Space_Location::space_Options(Player * player)
{
player->mod_HitPoints(1);
if (player->getHit_Points() < 1)
{
std::cout << std::endl;
std::cout << "You have taken too much damage and have died. You have failed in your quest." << std::endl;
std::cout << "================================================================================================" << std::endl;
std::cout << std::endl;
std::cout << " GAME OVER " << std::endl;
std::cout << std::endl;
std::cout << "================================================================================================" << std::endl;
player->yes_Lose_Game(10);
player->nuke_From_Orbit();
// return to main menu
return(0);
}
if (player->getGameTurn() > 29)
{
std::cout << "Three huge hulking three armed beasts appear before you weilding unique " << std::endl;
std::cout << "three handed swords glowing in power. The largest steps forward toward you" << std::endl;
std::cout << "and bellows - 'My master Stilbo has found the map to the fabled artifacts, we" << std::endl;
std::cout << "are here to send you to corpse hall where you will not know the glory of Sto'Vo'Kor" << std::endl;
std::cout << std::endl << std::endl;
std::cout << "You fight back mightily but the fight is completely unfair, you slay one outright, and" << std::endl;
std::cout << "you sever two of the three arms of another, but ultimately you are slain. Your last thoughts" << std::endl;
std::cout << "are that of wondering if you could have just prayed longer or spent more time training with" << std::endl;
std::cout << "Rocky, perhaps you might have stood a chance........" << std::endl;
std::cout << "================================================================================================" << std::endl;
std::cout << std::endl;
std::cout << " GAME OVER " << std::endl;
std::cout << std::endl;
std::cout << "================================================================================================" << std::endl;
player->yes_Lose_Game(10);
player->nuke_From_Orbit();
// return to main menu
return(0);
}
else
{
std::cout << "==========================" << std::endl;
std::cout << "You may select one of the following actions:" << std::endl;
std::cout << "1. Go top" << std::endl;
std::cout << "2. Go bottom" << std::endl;
std::cout << "3. Go Left" << std::endl;
std::cout << "4. Go Right" << std::endl;
int user_Input01 = 0;
int counter = 1;
while (true)
{
// User makes a choice based on the options presented.
// If it is the second time around, the options are presented again.
if (counter > 1)
{
std::cout << "You may select one of the following actions:" << std::endl;
std::cout << "1. Go top" << std::endl;
std::cout << "2. Go bottom" << std::endl;
std::cout << "3. Go Left" << std::endl;
std::cout << "4. Go Right" << std::endl;
}
user_Input01 = inputValCheck4();
switch (user_Input01)
{
case 1:
// allows the player to move to space 2 - Goblin space
// updates the top pointer
return top;
break;
case 2:
// For space 1, an invalid choice - provides user text and doesn't return to a new area.
std::cout << "You stare longingly back at the water. You know you cannot go home until you've stopped Stilbo." << std::endl;
break;
case 3:
// For space 1, an invalid choice - provides user text and doesn't return to a new area.
std::cout << "Your bird is correct, you cannot go this way." << std::endl;
break;
case 4:
// For space 1, an invalid choice - provides user text and doesn't return to a new area.
std::cout << "Your bird is correct, you cannot go this way." << std::endl;
break;
default:
std::cout << "Your bird is having troubles......." << std::endl;
break;
}
counter ++;
}
}
}
// Introduction_Space_Location::setTop - set top pointer to next space location
void Introduction_Space_Location::setTop(Space * spacez)
{
top = spacez;
}
// Introduction_Space_Location::setBottom - set bottom pointer to next space location
void Introduction_Space_Location::setBottom(Space * spacez)
{
bottom = spacez;
}
// Introduction_Space_Location::setLeft - set left pionter to next space location
void Introduction_Space_Location::setLeft(Space * spacez)
{
left = spacez;
}
// Introduction_Space_Location::setRight - set right pointer to next space location
void Introduction_Space_Location::setRight(Space * spacez)
{
right = spacez;
}
// Introduction_Space_Location::getSpace_Identifier - return space number player is at
int Introduction_Space_Location::getSpace_Identifier()
{
return space_Identifier;
}
Introduction_Space_Location::~Introduction_Space_Location()
{
}