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/Banana/Banana.cpp@12:50a7abf21f18, 2019-05-08 (annotated)
- Committer:
- Kern_EL17KJTF
- Date:
- Wed May 08 01:28:25 2019 +0000
- Revision:
- 12:50a7abf21f18
- Parent:
- 11:b288d01533cc
- Child:
- 13:94abfe83a294
Game basics 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 | Banana.cpp |
Kern_EL17KJTF | 10:28575a6eaa13 | 4 | Class file for Banana in Donkey Kong game. |
Kern_EL17KJTF | 10:28575a6eaa13 | 5 | */ |
Kern_EL17KJTF | 10:28575a6eaa13 | 6 | |
Kern_EL17KJTF | 10:28575a6eaa13 | 7 | #include "Banana.h" |
Kern_EL17KJTF | 10:28575a6eaa13 | 8 | |
Kern_EL17KJTF | 10:28575a6eaa13 | 9 | Banana::Banana() |
Kern_EL17KJTF | 10:28575a6eaa13 | 10 | { |
Kern_EL17KJTF | 10:28575a6eaa13 | 11 | |
Kern_EL17KJTF | 10:28575a6eaa13 | 12 | } |
Kern_EL17KJTF | 10:28575a6eaa13 | 13 | |
Kern_EL17KJTF | 10:28575a6eaa13 | 14 | Banana::~Banana() |
Kern_EL17KJTF | 10:28575a6eaa13 | 15 | { |
Kern_EL17KJTF | 10:28575a6eaa13 | 16 | |
Kern_EL17KJTF | 10:28575a6eaa13 | 17 | } |
Kern_EL17KJTF | 10:28575a6eaa13 | 18 | |
Kern_EL17KJTF | 12:50a7abf21f18 | 19 | int banana_x = 0; |
Kern_EL17KJTF | 11:b288d01533cc | 20 | int banana_y = 0; |
Kern_EL17KJTF | 11:b288d01533cc | 21 | int banana_speed = 0; |
Kern_EL17KJTF | 11:b288d01533cc | 22 | int banana_min = 0; |
Kern_EL17KJTF | 11:b288d01533cc | 23 | int banana_max = 76; |
Kern_EL17KJTF | 11:b288d01533cc | 24 | int banana_time = 0; |
Kern_EL17KJTF | 11:b288d01533cc | 25 | int score = 0; |
Kern_EL17KJTF | 11:b288d01533cc | 26 | |
Kern_EL17KJTF | 10:28575a6eaa13 | 27 | |
Kern_EL17KJTF | 12:50a7abf21f18 | 28 | int game_banana[8][8] = { |
Kern_EL17KJTF | 10:28575a6eaa13 | 29 | {0,0,0,0,0,0,1,0,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 30 | {0,0,0,0,0,1,1,1,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 31 | {0,0,0,0,0,1,1,1,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 32 | {0,0,0,0,1,1,1,1,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 33 | {0,0,0,1,1,1,1,0,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 34 | {0,1,1,1,1,1,1,0,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 35 | {1,1,1,1,1,1,0,0,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 36 | {0,1,1,1,0,0,0,0,}, |
Kern_EL17KJTF | 10:28575a6eaa13 | 37 | }; |
Kern_EL17KJTF | 12:50a7abf21f18 | 38 | |
Kern_EL17KJTF | 12:50a7abf21f18 | 39 | void Banana::banana_drop(Gamepad &pad, N5110 &lcd, Barrel &barrel, Donkey &dky) { |
Kern_EL17KJTF | 12:50a7abf21f18 | 40 | if (((banana_x + 8) >= barrel_x) & (banana_x <= (barrel_x + 16)) & (banana_y <= 4)) { |
Kern_EL17KJTF | 10:28575a6eaa13 | 41 | banana_x = rand() % (banana_max + 1 - banana_min) + banana_min; |
Kern_EL17KJTF | 10:28575a6eaa13 | 42 | } |
Kern_EL17KJTF | 10:28575a6eaa13 | 43 | lcd.drawSprite(banana_x,banana_y,8,8,(int *)game_banana); |
Kern_EL17KJTF | 10:28575a6eaa13 | 44 | lcd.refresh(); |
Kern_EL17KJTF | 10:28575a6eaa13 | 45 | wait_ms(50); |
Kern_EL17KJTF | 10:28575a6eaa13 | 46 | banana_y = banana_y + 1 + banana_time; |
Kern_EL17KJTF | 12:50a7abf21f18 | 47 | if (banana_y > 44) { |
Kern_EL17KJTF | 10:28575a6eaa13 | 48 | banana_y = 0; |
Kern_EL17KJTF | 10:28575a6eaa13 | 49 | banana_time = banana_time + 0.1; |
Kern_EL17KJTF | 12:50a7abf21f18 | 50 | banana_x = rand() % (banana_max + 1 - banana_min) + banana_min; |
Kern_EL17KJTF | 10:28575a6eaa13 | 51 | } |
Kern_EL17KJTF | 11:b288d01533cc | 52 | if ((banana_y >= 34) & ((banana_x + 7) >= donkeykong_x) & (banana_x <= (donkeykong_x + 15))) { |
Kern_EL17KJTF | 10:28575a6eaa13 | 53 | score = score + 10 + banana_time; |
Kern_EL17KJTF | 12:50a7abf21f18 | 54 | banana_y = 0; |
Kern_EL17KJTF | 12:50a7abf21f18 | 55 | banana_x = rand() % (banana_max + 1 - banana_min) + banana_min; |
Kern_EL17KJTF | 12:50a7abf21f18 | 56 | printf("Banana Hit - Score: %d \n", score); |
Kern_EL17KJTF | 12:50a7abf21f18 | 57 | //printf("Banana x %d \n", banana_x); |
Kern_EL17KJTF | 12:50a7abf21f18 | 58 | //printf("Barrel x %d \n", barrel_x); |
Kern_EL17KJTF | 10:28575a6eaa13 | 59 | } |
Kern_EL17KJTF | 12:50a7abf21f18 | 60 | } |