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
Global.cpp@19:89c3eeb3761b, 2021-03-25 (annotated)
- 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?
User | Revision | Line number | New 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 | } |