Kern Fowler / Mbed 2 deprecated Donkey_Kong_Game

Dependencies:   mbed

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?

UserRevisionLine numberNew 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 }