Kern Fowler / Mbed 2 deprecated Donkey_Kong_Game

Dependencies:   mbed

Committer:
Kern_EL17KJTF
Date:
Wed May 08 23:47:18 2019 +0000
Revision:
21:1f44f5493c0d
Parent:
13:94abfe83a294
Child:
31:06713cdbba37
Child:
34:8dbf401b9906
Documentation - GameEngine Class Complete.

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 GameEngine.cpp
Kern_EL17KJTF 10:28575a6eaa13 4 Class file for GameEngine in Donkey Kong game.
Kern_EL17KJTF 10:28575a6eaa13 5 */
Kern_EL17KJTF 10:28575a6eaa13 6
Kern_EL17KJTF 10:28575a6eaa13 7 #include "GameEngine.h"
Kern_EL17KJTF 10:28575a6eaa13 8
Kern_EL17KJTF 21:1f44f5493c0d 9 // Constructor - Doesn't require any setup.
Kern_EL17KJTF 10:28575a6eaa13 10 GameEngine::GameEngine()
Kern_EL17KJTF 10:28575a6eaa13 11 {
Kern_EL17KJTF 10:28575a6eaa13 12
Kern_EL17KJTF 10:28575a6eaa13 13 }
Kern_EL17KJTF 10:28575a6eaa13 14
Kern_EL17KJTF 21:1f44f5493c0d 15 // Deconstructor - Doesn't require any setup.
Kern_EL17KJTF 10:28575a6eaa13 16 GameEngine::~GameEngine()
Kern_EL17KJTF 10:28575a6eaa13 17 {
Kern_EL17KJTF 10:28575a6eaa13 18
Kern_EL17KJTF 10:28575a6eaa13 19 }
Kern_EL17KJTF 10:28575a6eaa13 20
Kern_EL17KJTF 21:1f44f5493c0d 21 // Runs the main functions of the game in correct order.
Kern_EL17KJTF 10:28575a6eaa13 22 void GameEngine::gameengine_run(Gamepad &pad, N5110 &lcd, Barrel &barrel, Banana &banana, Donkey &dky) {
Kern_EL17KJTF 10:28575a6eaa13 23 wait_ms(250);
Kern_EL17KJTF 21:1f44f5493c0d 24 // Sets key variables back to default value when game first ran.
Kern_EL17KJTF 21:1f44f5493c0d 25 barrel_x = 0;
Kern_EL17KJTF 12:50a7abf21f18 26 barrel_y = 0;
Kern_EL17KJTF 12:50a7abf21f18 27 banana_x = 0;
Kern_EL17KJTF 12:50a7abf21f18 28 banana_y = 0;
Kern_EL17KJTF 11:b288d01533cc 29 running = 1;
Kern_EL17KJTF 12:50a7abf21f18 30 banana_time = 0;
Kern_EL17KJTF 12:50a7abf21f18 31 barrel_time = 0;
Kern_EL17KJTF 12:50a7abf21f18 32 score = 0;
Kern_EL17KJTF 21:1f44f5493c0d 33 while (running == 1) { // Main game loop, continues until game over occurs.
Kern_EL17KJTF 10:28575a6eaa13 34 //printf("Game State");
Kern_EL17KJTF 10:28575a6eaa13 35 lcd.clear();
Kern_EL17KJTF 21:1f44f5493c0d 36 dky.donkeykong_movement(pad, lcd); // Calls Donkey Kong model section of game.
Kern_EL17KJTF 21:1f44f5493c0d 37 barrel.barrel_drop(pad, lcd, dky); // Calls Barrel model section of game.
Kern_EL17KJTF 21:1f44f5493c0d 38 banana.banana_drop(pad, lcd, barrel, dky); // Calls Banana model section of game.
Kern_EL17KJTF 12:50a7abf21f18 39 //printf("state %d", running);
Kern_EL17KJTF 21:1f44f5493c0d 40 lcd.refresh(); // Reloads screen on every cycle, controlled by fps. Default set to 24.
Kern_EL17KJTF 10:28575a6eaa13 41 wait_ms(1.0f/24);
Kern_EL17KJTF 10:28575a6eaa13 42 }
Kern_EL17KJTF 12:50a7abf21f18 43 }
Kern_EL17KJTF 12:50a7abf21f18 44
Kern_EL17KJTF 21:1f44f5493c0d 45 // Prints the gameover screen. Prints various text, including total player score.
Kern_EL17KJTF 12:50a7abf21f18 46 void GameEngine::gameengine_score(Gamepad &pad, N5110 &lcd, Banana &banana) {
Kern_EL17KJTF 12:50a7abf21f18 47 lcd.clear();
Kern_EL17KJTF 12:50a7abf21f18 48 lcd.printString("Game Over!",14,0);
Kern_EL17KJTF 12:50a7abf21f18 49 lcd.printString("Score:",0,2);
Kern_EL17KJTF 21:1f44f5493c0d 50 char buffer[14]; // Shows final score on screen.
Kern_EL17KJTF 12:50a7abf21f18 51 sprintf(buffer,"%i",score);
Kern_EL17KJTF 12:50a7abf21f18 52 lcd.printString(buffer,40,2);
Kern_EL17KJTF 12:50a7abf21f18 53 lcd.refresh();
Kern_EL17KJTF 12:50a7abf21f18 54 wait(5);
Kern_EL17KJTF 21:1f44f5493c0d 55 }