A complex 2D-dungeon game on LPC1768 in SWJTU-Leeds Joint School XJEL2645 project. Referenced from the framework contributed by https://os.mbed.com/users/Siriagus/code/SimplePlatformGame/

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
hugohu
Date:
Thu Mar 25 03:43:10 2021 +0000
Revision:
19:89c3eeb3761b
Parent:
17:d6a3b29cab31
A more complex game in developing.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Siriagus 17:d6a3b29cab31 1 #include "Global.h"
Siriagus 17:d6a3b29cab31 2
Siriagus 17:d6a3b29cab31 3 /// @file Global.cpp
Siriagus 17:d6a3b29cab31 4
Siriagus 17:d6a3b29cab31 5 namespace Global
Siriagus 17:d6a3b29cab31 6 {
Siriagus 17:d6a3b29cab31 7 int score = 0;
hugohu 19:89c3eeb3761b 8
Siriagus 17:d6a3b29cab31 9 Highscore highscores[3] = {{"AAA", 0}, {"AAA", 0}, {"AAA", 0}};
Siriagus 17:d6a3b29cab31 10
Siriagus 17:d6a3b29cab31 11 void clearHighscoreList()
Siriagus 17:d6a3b29cab31 12 {
Siriagus 17:d6a3b29cab31 13 // Clear high score list
Siriagus 17:d6a3b29cab31 14 for (int i = 0; i < 3; ++i)
Siriagus 17:d6a3b29cab31 15 {
Siriagus 17:d6a3b29cab31 16 highscores[i].initials = "---";
Siriagus 17:d6a3b29cab31 17 highscores[i].score = 0;
Siriagus 17:d6a3b29cab31 18 }
Siriagus 17:d6a3b29cab31 19
Siriagus 17:d6a3b29cab31 20 // Overwrite file
Siriagus 17:d6a3b29cab31 21 FILE *fp = fopen("/local/highscores.txt", "w");
Siriagus 17:d6a3b29cab31 22
Siriagus 17:d6a3b29cab31 23 for (int i = 0; i < 3; ++i)
Siriagus 17:d6a3b29cab31 24 fprintf(fp, "%s %d ", Global::highscores[i].initials, Global::highscores[i].score);
Siriagus 17:d6a3b29cab31 25
Siriagus 17:d6a3b29cab31 26 fclose(fp);
Siriagus 17:d6a3b29cab31 27 }
hugohu 19:89c3eeb3761b 28 }
hugohu 19:89c3eeb3761b 29
hugohu 19:89c3eeb3761b 30 /// Setup the enemy based on type
hugohu 19:89c3eeb3761b 31 void Enemy::setup()
hugohu 19:89c3eeb3761b 32 {
hugohu 19:89c3eeb3761b 33 switch (type)
hugohu 19:89c3eeb3761b 34 {
hugohu 19:89c3eeb3761b 35 case SIMPLE:
hugohu 19:89c3eeb3761b 36 width = 5;
hugohu 19:89c3eeb3761b 37 height = 5;
hugohu 19:89c3eeb3761b 38 vx = 1;
hugohu 19:89c3eeb3761b 39 difficulty = 1;
hugohu 19:89c3eeb3761b 40 jumpRate = 3;
hugohu 19:89c3eeb3761b 41 break;
hugohu 19:89c3eeb3761b 42
hugohu 19:89c3eeb3761b 43 case JUMPER:
hugohu 19:89c3eeb3761b 44 width = 3;
hugohu 19:89c3eeb3761b 45 height = 4;
hugohu 19:89c3eeb3761b 46 vx = 1;
hugohu 19:89c3eeb3761b 47 difficulty = 3;
hugohu 19:89c3eeb3761b 48 jumpRate = 50;
hugohu 19:89c3eeb3761b 49 break;
hugohu 19:89c3eeb3761b 50
hugohu 19:89c3eeb3761b 51 case RUNNER:
hugohu 19:89c3eeb3761b 52 width = 6;
hugohu 19:89c3eeb3761b 53 height = 5;
hugohu 19:89c3eeb3761b 54 vx = 2;
hugohu 19:89c3eeb3761b 55 difficulty = 5;
hugohu 19:89c3eeb3761b 56 jumpRate = 0;
hugohu 19:89c3eeb3761b 57 break;
hugohu 19:89c3eeb3761b 58
hugohu 19:89c3eeb3761b 59 default: // error, should not be possible
hugohu 19:89c3eeb3761b 60 width = height = vx = vy = 0;
hugohu 19:89c3eeb3761b 61 }
hugohu 19:89c3eeb3761b 62
hugohu 19:89c3eeb3761b 63 if (facingLeft)
hugohu 19:89c3eeb3761b 64 vx *= -1;
Siriagus 17:d6a3b29cab31 65 }