Game For ECE 2035

Dependencies:   mbed wave_player 4DGL-uLCD-SE MMA8452

Committer:
nasiromar
Date:
Fri Dec 03 09:50:47 2021 +0000
Revision:
15:05592aaa468c
Parent:
14:7225da81314a
Child:
16:06a88c0110ff
NasLand

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nasiromar 6:c9695079521d 1 #include "actions.h"
nasiromar 6:c9695079521d 2 #include "speech.h"
nasiromar 6:c9695079521d 3 #include "hardware.h"
nasiromar 6:c9695079521d 4 #include "globals.h"
nasiromar 7:862062ffca62 5 #include "map.h"
nasiromar 6:c9695079521d 6
nasiromar 6:c9695079521d 7
nasiromar 9:cbb9cfb1f6c5 8 MapItem*spot = (MapItem*) malloc(sizeof(MapItem));
nasiromar 15:05592aaa468c 9 int currentMap = get_map(0);
nasiromar 10:e18685911e84 10
nasiromar 6:c9695079521d 11
nasiromar 11:6cd02a8539d1 12 int door_open()
nasiromar 9:cbb9cfb1f6c5 13 {
nasiromar 11:6cd02a8539d1 14 return 1;
nasiromar 7:862062ffca62 15 }
nasiromar 7:862062ffca62 16
nasiromar 11:6cd02a8539d1 17 void door_locked()
nasiromar 11:6cd02a8539d1 18 {
nasiromar 11:6cd02a8539d1 19 char line1[] = "The Door Is";
nasiromar 11:6cd02a8539d1 20 char line2[] = "Locked...";
nasiromar 11:6cd02a8539d1 21 horizontal_speech1(line1,line2);
nasiromar 7:862062ffca62 22
nasiromar 11:6cd02a8539d1 23 char line3[] = "Find The Key";
nasiromar 11:6cd02a8539d1 24 char line4[] = "**Slay Mob**";
nasiromar 11:6cd02a8539d1 25 horizontal_speech1(line3,line4);
nasiromar 11:6cd02a8539d1 26 }
nasiromar 9:cbb9cfb1f6c5 27
nasiromar 9:cbb9cfb1f6c5 28 void fruit()
nasiromar 9:cbb9cfb1f6c5 29 {
nasiromar 9:cbb9cfb1f6c5 30 char line1[] = "Picked Fruit";
nasiromar 9:cbb9cfb1f6c5 31 char line2[] = "From The Tree";
nasiromar 7:862062ffca62 32 horizontal_speech1(line1,line2);
nasiromar 9:cbb9cfb1f6c5 33
nasiromar 9:cbb9cfb1f6c5 34 char line3[] = "Fruit Eaten:";
nasiromar 9:cbb9cfb1f6c5 35 char line4[] = "5 HP gained";
nasiromar 7:862062ffca62 36 horizontal_speech1(line3,line4);
nasiromar 9:cbb9cfb1f6c5 37 }
nasiromar 9:cbb9cfb1f6c5 38
nasiromar 9:cbb9cfb1f6c5 39 void god_modeOn()
nasiromar 9:cbb9cfb1f6c5 40 {
nasiromar 9:cbb9cfb1f6c5 41 char line1[] = "God Mode:";
nasiromar 9:cbb9cfb1f6c5 42 char line2[] = "Activated";
nasiromar 9:cbb9cfb1f6c5 43 horizontal_speech1(line1,line2);
nasiromar 9:cbb9cfb1f6c5 44 }
nasiromar 9:cbb9cfb1f6c5 45
nasiromar 9:cbb9cfb1f6c5 46 void god_modeOff()
nasiromar 9:cbb9cfb1f6c5 47 {
nasiromar 9:cbb9cfb1f6c5 48 char line1[] = "God Mode:";
nasiromar 9:cbb9cfb1f6c5 49 char line2[] = "Deactivated";
nasiromar 9:cbb9cfb1f6c5 50 horizontal_speech1(line1,line2);
nasiromar 8:fcc333a8f9e1 51 }
nasiromar 7:862062ffca62 52
nasiromar 15:05592aaa468c 53
nasiromar 15:05592aaa468c 54 int walkXpos;
nasiromar 15:05592aaa468c 55
nasiromar 15:05592aaa468c 56 int npc_x = 10;
nasiromar 15:05592aaa468c 57 int npc_y = 5;
nasiromar 11:6cd02a8539d1 58
nasiromar 10:e18685911e84 59
nasiromar 15:05592aaa468c 60 void walk_npc()
nasiromar 10:e18685911e84 61 {
nasiromar 11:6cd02a8539d1 62
nasiromar 15:05592aaa468c 63 if(currentMap == 0 && npc_x != 6){
nasiromar 15:05592aaa468c 64 map_erase(npc_x,npc_y);
nasiromar 11:6cd02a8539d1 65
nasiromar 11:6cd02a8539d1 66
nasiromar 15:05592aaa468c 67 if ( npc_y == 5){
nasiromar 15:05592aaa468c 68 walkXpos = 1;
nasiromar 15:05592aaa468c 69 }
nasiromar 15:05592aaa468c 70 if ( walkXpos == 1){
nasiromar 15:05592aaa468c 71 npc_x--;
nasiromar 15:05592aaa468c 72 add_npc(npc_x,npc_y);
nasiromar 15:05592aaa468c 73 }
nasiromar 15:05592aaa468c 74
nasiromar 15:05592aaa468c 75
nasiromar 10:e18685911e84 76 }
nasiromar 11:6cd02a8539d1 77
nasiromar 15:05592aaa468c 78 }
nasiromar 11:6cd02a8539d1 79
nasiromar 11:6cd02a8539d1 80
nasiromar 11:6cd02a8539d1 81 void no_fruit()
nasiromar 11:6cd02a8539d1 82 {
nasiromar 11:6cd02a8539d1 83 char line1[] = "Player Health:";
nasiromar 11:6cd02a8539d1 84 char line2[] = "Full";
nasiromar 11:6cd02a8539d1 85 horizontal_speech1(line1,line2);
nasiromar 11:6cd02a8539d1 86
nasiromar 11:6cd02a8539d1 87 char line3[] = "Fruit Dropped:";
nasiromar 11:6cd02a8539d1 88 char line4[] = "0 HP gained";
nasiromar 11:6cd02a8539d1 89 horizontal_speech1(line3,line4);
nasiromar 11:6cd02a8539d1 90 }
nasiromar 11:6cd02a8539d1 91
nasiromar 14:7225da81314a 92 void merch_speech1(){
nasiromar 14:7225da81314a 93 char line1[] = "Welcome To";
nasiromar 14:7225da81314a 94 char line2[] = "The Shop";
nasiromar 14:7225da81314a 95 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 96
nasiromar 14:7225da81314a 97 char line3[] = "Take a look";
nasiromar 14:7225da81314a 98 char line4[] = "My Friend";
nasiromar 14:7225da81314a 99 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 100 }
nasiromar 14:7225da81314a 101
nasiromar 14:7225da81314a 102 void merch_speech2(){
nasiromar 14:7225da81314a 103 char line1[] = "Thank You";
nasiromar 14:7225da81314a 104 char line2[] = "For Shopping";
nasiromar 14:7225da81314a 105 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 106
nasiromar 14:7225da81314a 107 char line3[] = "Be sure to";
nasiromar 14:7225da81314a 108 char line4[] = "Return :)";
nasiromar 14:7225da81314a 109 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 110 }
nasiromar 14:7225da81314a 111
nasiromar 14:7225da81314a 112 void cantbuy()
nasiromar 14:7225da81314a 113 {
nasiromar 14:7225da81314a 114 char line1[] = "Not Enough";
nasiromar 14:7225da81314a 115 char line2[] = "Funds";
nasiromar 14:7225da81314a 116 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 117 }
nasiromar 14:7225da81314a 118
nasiromar 15:05592aaa468c 119 void drg()
nasiromar 15:05592aaa468c 120 {
nasiromar 15:05592aaa468c 121 char line1[] = "Dragon Damaged";
nasiromar 15:05592aaa468c 122 char line2[] = "DHP: -25";
nasiromar 15:05592aaa468c 123 horizontal_speech2(line1,line2);
nasiromar 15:05592aaa468c 124 }
nasiromar 15:05592aaa468c 125
nasiromar 14:7225da81314a 126 void frt()
nasiromar 14:7225da81314a 127 {
nasiromar 14:7225da81314a 128 char line1[] = "HP:";
nasiromar 14:7225da81314a 129 char line2[] = "+6";
nasiromar 14:7225da81314a 130 horizontal_speech2(line1,line2);
nasiromar 14:7225da81314a 131 }
nasiromar 14:7225da81314a 132
nasiromar 14:7225da81314a 133 void elx()
nasiromar 14:7225da81314a 134 {
nasiromar 14:7225da81314a 135 char line1[] = "HP:";
nasiromar 14:7225da81314a 136 char line2[] = "+10";
nasiromar 14:7225da81314a 137 horizontal_speech2(line1,line2);
nasiromar 14:7225da81314a 138 }
nasiromar 14:7225da81314a 139
nasiromar 14:7225da81314a 140 void poti()
nasiromar 14:7225da81314a 141 {
nasiromar 14:7225da81314a 142 char line1[] = "MP:";
nasiromar 14:7225da81314a 143 char line2[] = "+8";
nasiromar 14:7225da81314a 144 horizontal_speech2(line1,line2);
nasiromar 14:7225da81314a 145 }
nasiromar 14:7225da81314a 146
nasiromar 14:7225da81314a 147 void npc2_speech()
nasiromar 14:7225da81314a 148 {
nasiromar 14:7225da81314a 149 char line1[] = "*Twink Twink*";
nasiromar 14:7225da81314a 150 char line2[] = "*Twink Twink*";
nasiromar 14:7225da81314a 151 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 152
nasiromar 14:7225da81314a 153 char line3[] = "Please save us";
nasiromar 14:7225da81314a 154 char line4[] = "Mighty Hero";
nasiromar 14:7225da81314a 155 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 156 }
nasiromar 14:7225da81314a 157
nasiromar 14:7225da81314a 158 void fire_dmg(){
nasiromar 14:7225da81314a 159 char line1[] = "*Burn Burn*";
nasiromar 14:7225da81314a 160 char line2[] = "*Crackle*";
nasiromar 14:7225da81314a 161 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 162
nasiromar 14:7225da81314a 163 char line3[] = "Fire Damage:";
nasiromar 14:7225da81314a 164 char line4[] = "HP: -2";
nasiromar 14:7225da81314a 165 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 166 }
nasiromar 14:7225da81314a 167
nasiromar 14:7225da81314a 168 void eye_dmg(){
nasiromar 14:7225da81314a 169 char line1[] = "*shake shake*";
nasiromar 14:7225da81314a 170 char line2[] = "Recoiled";
nasiromar 14:7225da81314a 171 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 172
nasiromar 14:7225da81314a 173 char line3[] = "Eye Screeched!";
nasiromar 14:7225da81314a 174 char line4[] = "The sound hurts";
nasiromar 14:7225da81314a 175 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 176
nasiromar 14:7225da81314a 177 char line5[] = "HP Damage:";
nasiromar 14:7225da81314a 178 char line6[] = "HP: -15";
nasiromar 14:7225da81314a 179 horizontal_speech1(line5,line6);
nasiromar 14:7225da81314a 180 }
nasiromar 14:7225da81314a 181
nasiromar 14:7225da81314a 182 void gob_dmg(){
nasiromar 14:7225da81314a 183 char line1[] = "*shake shake*";
nasiromar 14:7225da81314a 184 char line2[] = "Recoiled";
nasiromar 14:7225da81314a 185 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 186
nasiromar 14:7225da81314a 187 char line3[] = "Goblin Attacked";
nasiromar 14:7225da81314a 188 char line4[] = "Took Damage";
nasiromar 14:7225da81314a 189 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 190
nasiromar 14:7225da81314a 191 char line5[] = "HP Damage:";
nasiromar 14:7225da81314a 192 char line6[] = "HP: -12";
nasiromar 14:7225da81314a 193 horizontal_speech1(line5,line6);
nasiromar 14:7225da81314a 194 }
nasiromar 14:7225da81314a 195
nasiromar 14:7225da81314a 196
nasiromar 14:7225da81314a 197
nasiromar 14:7225da81314a 198 void potion(){
nasiromar 14:7225da81314a 199 char line1[] = "Potion:";
nasiromar 14:7225da81314a 200 char line2[] = "Selected";
nasiromar 14:7225da81314a 201 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 202
nasiromar 14:7225da81314a 203 char line3[] = "MP increase";
nasiromar 14:7225da81314a 204 char line4[] = "MP: +5";
nasiromar 14:7225da81314a 205 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 206 }
nasiromar 14:7225da81314a 207
nasiromar 14:7225da81314a 208
nasiromar 11:6cd02a8539d1 209 void npc_speech1()
nasiromar 11:6cd02a8539d1 210 {
nasiromar 11:6cd02a8539d1 211
nasiromar 11:6cd02a8539d1 212 char line1[] = "Salutations:";
nasiromar 11:6cd02a8539d1 213 char line2[] = "Traveler!";
nasiromar 11:6cd02a8539d1 214 horizontal_speech1(line1,line2);
nasiromar 11:6cd02a8539d1 215
nasiromar 11:6cd02a8539d1 216 char line3[] = "Welcome to";
nasiromar 11:6cd02a8539d1 217 char line4[] = "NasLand";
nasiromar 11:6cd02a8539d1 218 horizontal_speech1(line3,line4);
nasiromar 11:6cd02a8539d1 219
nasiromar 11:6cd02a8539d1 220 char line5[] = "I offer a quest";
nasiromar 11:6cd02a8539d1 221 char line6[] = "If thee accept";
nasiromar 11:6cd02a8539d1 222 horizontal_speech1(line5,line6);
nasiromar 11:6cd02a8539d1 223
nasiromar 11:6cd02a8539d1 224 char line7[] = "Excellent!";
nasiromar 11:6cd02a8539d1 225 char line8[] = "I need a dragon";
nasiromar 11:6cd02a8539d1 226 horizontal_speech1(line7,line8);
nasiromar 11:6cd02a8539d1 227
nasiromar 11:6cd02a8539d1 228 char line9[] = "Well not need";
nasiromar 11:6cd02a8539d1 229 char line10[] = "but want DEAD!";
nasiromar 11:6cd02a8539d1 230 horizontal_speech1(line9,line10);
nasiromar 11:6cd02a8539d1 231
nasiromar 11:6cd02a8539d1 232 char line11[] = "so go to the ";
nasiromar 11:6cd02a8539d1 233 char line12[] = "portal next..";
nasiromar 11:6cd02a8539d1 234 horizontal_speech1(line11,line12);
nasiromar 11:6cd02a8539d1 235
nasiromar 11:6cd02a8539d1 236 char line13[] = "Hint: ";
nasiromar 11:6cd02a8539d1 237 char line14[] = "X[20],Y[35]";
nasiromar 11:6cd02a8539d1 238 horizontal_speech1(line13,line14);
nasiromar 10:e18685911e84 239 }
nasiromar 9:cbb9cfb1f6c5 240
nasiromar 11:6cd02a8539d1 241 void npc_speech2()
nasiromar 11:6cd02a8539d1 242 {
nasiromar 9:cbb9cfb1f6c5 243
nasiromar 11:6cd02a8539d1 244 char line1[] = "Welcome Back";
nasiromar 11:6cd02a8539d1 245 char line2[] = "Traveler!";
nasiromar 11:6cd02a8539d1 246 horizontal_speech1(line1,line2);
nasiromar 9:cbb9cfb1f6c5 247
nasiromar 11:6cd02a8539d1 248 char line3[] = "The Dragon";
nasiromar 11:6cd02a8539d1 249 char line4[] = "has been slain";
nasiromar 11:6cd02a8539d1 250 horizontal_speech1(line3,line4);
nasiromar 9:cbb9cfb1f6c5 251
nasiromar 11:6cd02a8539d1 252 char line5[] = "You have saved";
nasiromar 11:6cd02a8539d1 253 char line6[] = "NasLand";
nasiromar 11:6cd02a8539d1 254 horizontal_speech1(line5,line6);
nasiromar 9:cbb9cfb1f6c5 255
nasiromar 11:6cd02a8539d1 256 char line7[] = "Go to Castle";
nasiromar 11:6cd02a8539d1 257 char line8[] = "To collect";
nasiromar 11:6cd02a8539d1 258 horizontal_speech1(line7,line8);
nasiromar 9:cbb9cfb1f6c5 259
nasiromar 11:6cd02a8539d1 260 char line9[] = "TREASURE";
nasiromar 11:6cd02a8539d1 261 char line10[] = "TREASURE";
nasiromar 11:6cd02a8539d1 262 horizontal_speech1(line9,line10);
nasiromar 9:cbb9cfb1f6c5 263
nasiromar 11:6cd02a8539d1 264 char line11[] = "Farwell Great ";
nasiromar 11:6cd02a8539d1 265 char line12[] = "Mage...";
nasiromar 11:6cd02a8539d1 266 horizontal_speech1(line11,line12);
nasiromar 7:862062ffca62 267
nasiromar 11:6cd02a8539d1 268 char line13[] = "Hint: ";
nasiromar 11:6cd02a8539d1 269 char line14[] = "X[26],Y[12]";
nasiromar 11:6cd02a8539d1 270 horizontal_speech1(line13,line14);
nasiromar 11:6cd02a8539d1 271 }
nasiromar 9:cbb9cfb1f6c5 272
nasiromar 9:cbb9cfb1f6c5 273
nasiromar 11:6cd02a8539d1 274 void slay_dragon()
nasiromar 11:6cd02a8539d1 275 {
nasiromar 11:6cd02a8539d1 276 char line1[] = "Me!?!";
nasiromar 11:6cd02a8539d1 277 char line2[] = "Dying? at the";
nasiromar 11:6cd02a8539d1 278 horizontal_speech1(line1,line2);
nasiromar 9:cbb9cfb1f6c5 279
nasiromar 11:6cd02a8539d1 280 char line3[] = "hands of a";
nasiromar 11:6cd02a8539d1 281 char line4[] = "mere MORTAL";
nasiromar 11:6cd02a8539d1 282 horizontal_speech1(line3,line4);
nasiromar 9:cbb9cfb1f6c5 283
nasiromar 11:6cd02a8539d1 284 char line5[] = "Ahhhhhhhh!";
nasiromar 11:6cd02a8539d1 285 char line6[] = "DIES:(";
nasiromar 11:6cd02a8539d1 286 horizontal_speech1(line5,line6);
nasiromar 9:cbb9cfb1f6c5 287
nasiromar 11:6cd02a8539d1 288 char line7[] = "CONGRATULATIONS!";
nasiromar 11:6cd02a8539d1 289 char line8[] = "Dragon Slain";
nasiromar 11:6cd02a8539d1 290 horizontal_speech1(line7,line8);
nasiromar 9:cbb9cfb1f6c5 291
nasiromar 11:6cd02a8539d1 292 char line9[] = "Heres the key!";
nasiromar 11:6cd02a8539d1 293 char line10[] = "Well Done!";
nasiromar 11:6cd02a8539d1 294 horizontal_speech1(line9,line10);
nasiromar 9:cbb9cfb1f6c5 295
nasiromar 11:6cd02a8539d1 296 }
nasiromar 9:cbb9cfb1f6c5 297
nasiromar 14:7225da81314a 298 void money_chest()
nasiromar 14:7225da81314a 299 {
nasiromar 14:7225da81314a 300 char line1[] = "Chest Open:";
nasiromar 14:7225da81314a 301 char line2[] = "Oh La La $$";
nasiromar 14:7225da81314a 302 horizontal_speech1(line1,line2);
nasiromar 14:7225da81314a 303
nasiromar 14:7225da81314a 304 char line3[] = "Money Gained:";
nasiromar 14:7225da81314a 305 char line4[] = "+$2";
nasiromar 14:7225da81314a 306 horizontal_speech1(line3,line4);
nasiromar 14:7225da81314a 307 }
nasiromar 14:7225da81314a 308
nasiromar 9:cbb9cfb1f6c5 309
nasiromar 11:6cd02a8539d1 310 void init_dung()
nasiromar 11:6cd02a8539d1 311 {
nasiromar 11:6cd02a8539d1 312 Map* dung = set_active_map(1);
nasiromar 14:7225da81314a 313
nasiromar 11:6cd02a8539d1 314 add_castle(0, 0, HORIZONTAL, map_width());
nasiromar 11:6cd02a8539d1 315 add_castle(0, map_height()-1, HORIZONTAL, map_width());
nasiromar 11:6cd02a8539d1 316 add_castle(0, 0, VERTICAL, map_height());
nasiromar 11:6cd02a8539d1 317 add_castle(map_width()-1, 0, VERTICAL, map_height());
nasiromar 9:cbb9cfb1f6c5 318
nasiromar 14:7225da81314a 319 add_chest(10,16);
nasiromar 14:7225da81314a 320 add_chest(17,17);
nasiromar 14:7225da81314a 321 add_chest(14,7);
nasiromar 14:7225da81314a 322 add_chest(9,3);
nasiromar 14:7225da81314a 323 add_chest(5,6);
nasiromar 14:7225da81314a 324 add_chest(12,11);
nasiromar 14:7225da81314a 325 add_chest(2,18);
nasiromar 9:cbb9cfb1f6c5 326
nasiromar 12:116a4cc85b16 327 add_portal2(10,2);
nasiromar 11:6cd02a8539d1 328
nasiromar 13:798a4dd14c7e 329 add_dragon(15,9);
nasiromar 9:cbb9cfb1f6c5 330
nasiromar 13:798a4dd14c7e 331 add_goblin(5,7,ENEMY2);
nasiromar 11:6cd02a8539d1 332
nasiromar 13:798a4dd14c7e 333 add_goblin(10,10,ENEMY1);
nasiromar 14:7225da81314a 334
nasiromar 14:7225da81314a 335 add_eye(15,15);
nasiromar 9:cbb9cfb1f6c5 336
nasiromar 11:6cd02a8539d1 337 print_map();
nasiromar 9:cbb9cfb1f6c5 338
nasiromar 11:6cd02a8539d1 339 }