Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
lib/Donkey/Donkey.cpp@15:9e8d1b6fe81e, 2019-05-08 (annotated)
- Committer:
- Kern_EL17KJTF
- Date:
- Wed May 08 20:24:57 2019 +0000
- Revision:
- 15:9e8d1b6fe81e
- Parent:
- 12:50a7abf21f18
- Child:
- 20:c4e6941c98e2
Donkey Kong Game sprite added. Game fully working
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Kern_EL17KJTF | 10:28575a6eaa13 | 1 | /* |
| Kern_EL17KJTF | 10:28575a6eaa13 | 2 | ELEC2645 Project |
| Kern_EL17KJTF | 10:28575a6eaa13 | 3 | Donkey.cpp |
| Kern_EL17KJTF | 10:28575a6eaa13 | 4 | Class file for Donkey Kong in Donkey Kong game. |
| Kern_EL17KJTF | 10:28575a6eaa13 | 5 | */ |
| Kern_EL17KJTF | 10:28575a6eaa13 | 6 | #include "Donkey.h" |
| Kern_EL17KJTF | 10:28575a6eaa13 | 7 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 8 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 9 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 10 | Donkey::Donkey() |
| Kern_EL17KJTF | 10:28575a6eaa13 | 11 | { |
| Kern_EL17KJTF | 10:28575a6eaa13 | 12 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 13 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 14 | Donkey::~Donkey() |
| Kern_EL17KJTF | 10:28575a6eaa13 | 15 | { |
| Kern_EL17KJTF | 10:28575a6eaa13 | 16 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 17 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 18 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 19 | int donkeykong_x = 0; |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 20 | int donkeykong_y = 34; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 21 | int donkey_kong_speed = 10; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 22 | int donkey_direction; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 23 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 24 | |
| Kern_EL17KJTF | 10:28575a6eaa13 | 25 | void Donkey::donkeykong_movement(Gamepad &pad, N5110 &lcd) { |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 26 | int game_dk_walking_right_1[14][16] = { |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 27 | {0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 28 | {0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 29 | {0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 30 | {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 31 | {0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 32 | {0,0,0,0,1,1,0,0,0,1,0,0,1,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 33 | {0,0,1,1,1,0,0,0,0,0,1,1,1,1,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 34 | {0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 35 | {0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 36 | {1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 37 | {1,0,0,1,0,0,0,1,1,1,0,0,1,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 38 | {1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 39 | {1,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 40 | {1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,}, |
| Kern_EL17KJTF | 10:28575a6eaa13 | 41 | }; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 42 | |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 43 | int game_dk_walking_left_1[14][16] = { |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 44 | {0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 45 | {0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 46 | {0,1,0,1,1,0,1,1,0,0,0,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 47 | {1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 48 | {1,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 49 | {0,1,0,1,0,0,1,0,0,0,1,1,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 50 | {0,0,1,1,1,1,0,0,0,0,0,1,1,1,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 51 | {0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 52 | {0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 53 | {1,0,0,0,1,1,1,0,0,1,1,1,0,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 54 | {1,0,0,1,0,0,1,1,1,0,0,0,1,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 55 | {1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 56 | {1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 57 | {1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,}, |
| Kern_EL17KJTF | 10:28575a6eaa13 | 58 | }; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 59 | |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 60 | int game_dk_stationary[14][16] = { |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 61 | {0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 62 | {0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 63 | {0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 64 | {0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 65 | {0,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 66 | {0,0,1,1,0,1,1,0,1,1,0,0,1,0,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 67 | {0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 68 | {0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 69 | {0,1,0,0,0,1,1,1,1,1,0,0,0,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 70 | {0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 71 | {1,0,0,1,0,1,0,0,0,0,1,0,1,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 72 | {1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 73 | {1,0,1,0,1,0,0,1,1,0,0,1,0,1,0,1,}, |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 74 | {0,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,}, |
| Kern_EL17KJTF | 10:28575a6eaa13 | 75 | }; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 76 | donkey_direction = pad.get_direction(); |
| Kern_EL17KJTF | 10:28575a6eaa13 | 77 | if (donkey_direction == NE || donkey_direction == E || donkey_direction == SE) { |
| Kern_EL17KJTF | 12:50a7abf21f18 | 78 | donkeykong_x = donkeykong_x + 3; |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 79 | lcd.drawSprite(donkeykong_x,donkeykong_y,14,16,(int *)game_dk_walking_right_1); |
| Kern_EL17KJTF | 10:28575a6eaa13 | 80 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 81 | else if (donkey_direction == NW || donkey_direction == W || donkey_direction == SW) { |
| Kern_EL17KJTF | 12:50a7abf21f18 | 82 | donkeykong_x = donkeykong_x - 3; |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 83 | lcd.drawSprite(donkeykong_x,donkeykong_y,14,16,(int *)game_dk_walking_left_1); |
| Kern_EL17KJTF | 10:28575a6eaa13 | 84 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 85 | else { |
| Kern_EL17KJTF | 15:9e8d1b6fe81e | 86 | lcd.drawSprite(donkeykong_x,donkeykong_y,14,16,(int *)game_dk_stationary); |
| Kern_EL17KJTF | 10:28575a6eaa13 | 87 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 88 | lcd.refresh(); |
| Kern_EL17KJTF | 10:28575a6eaa13 | 89 | if (donkeykong_x > 68) { |
| Kern_EL17KJTF | 10:28575a6eaa13 | 90 | donkeykong_x = 68; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 91 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 92 | if (donkeykong_x < 0) { |
| Kern_EL17KJTF | 10:28575a6eaa13 | 93 | donkeykong_x = 0; |
| Kern_EL17KJTF | 10:28575a6eaa13 | 94 | } |
| Kern_EL17KJTF | 10:28575a6eaa13 | 95 | } |
| Kern_EL17KJTF | 11:b288d01533cc | 96 |