Kern Fowler / Mbed 2 deprecated Donkey_Kong_Game

Dependencies:   mbed

Committer:
Kern_EL17KJTF
Date:
Tue May 07 15:33:17 2019 +0000
Revision:
7:ffbc921c20f7
Parent:
6:478f81e79d9b
Child:
8:421f94b816c4
Game Engine Class Created.; Donkey Class Created.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kern_EL17KJTF 1:7a0917df015a 1 #ifndef MAIN_H
Kern_EL17KJTF 1:7a0917df015a 2 #define MAIN_H
Kern_EL17KJTF 1:7a0917df015a 3
Kern_EL17KJTF 1:7a0917df015a 4 // include the different header files
Kern_EL17KJTF 1:7a0917df015a 5 #include "mbed.h"
Kern_EL17KJTF 1:7a0917df015a 6 #include "N5110.h"
Kern_EL17KJTF 1:7a0917df015a 7 #include "Gamepad.h"
Kern_EL17KJTF 1:7a0917df015a 8
Kern_EL17KJTF 6:478f81e79d9b 9 // main menu ------------------------
Kern_EL17KJTF 2:6baf849b0270 10 void init();
Kern_EL17KJTF 1:7a0917df015a 11 void print_menu();
Kern_EL17KJTF 1:7a0917df015a 12 void welcome();
Kern_EL17KJTF 2:6baf849b0270 13 void arrow_location();
Kern_EL17KJTF 2:6baf849b0270 14 void arrow_select();
Kern_EL17KJTF 1:7a0917df015a 15
Kern_EL17KJTF 2:6baf849b0270 16 int menu_arrow[7][7] = { // Arrow pointer used in main menu
Kern_EL17KJTF 2:6baf849b0270 17 {0,0,0,0,0,0,0,},
Kern_EL17KJTF 2:6baf849b0270 18 {0,0,0,0,1,0,0,},
Kern_EL17KJTF 2:6baf849b0270 19 {0,0,0,0,1,1,0,},
Kern_EL17KJTF 2:6baf849b0270 20 {1,1,1,1,1,1,1,},
Kern_EL17KJTF 2:6baf849b0270 21 {0,0,0,0,1,1,0,},
Kern_EL17KJTF 2:6baf849b0270 22 {0,0,0,0,1,0,0,},
Kern_EL17KJTF 2:6baf849b0270 23 {0,0,0,0,0,0,0,},
Kern_EL17KJTF 2:6baf849b0270 24 };
Kern_EL17KJTF 2:6baf849b0270 25
Kern_EL17KJTF 2:6baf849b0270 26 int menu_dk_face[36][34] = { // donkey kong face for menu
Kern_EL17KJTF 1:7a0917df015a 27 { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 28 { 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 29 { 0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 30 { 0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,1,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 31 { 0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 32 { 0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 33 { 0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 34 { 0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1,1,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 35 { 0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 36 { 0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 37 { 0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 38 { 0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,1,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 39 { 0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 40 { 0,1,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,1,0 },
Kern_EL17KJTF 1:7a0917df015a 41 { 0,1,0,0,0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 42 { 0,1,0,0,0,1,0,0,1,0,0,1,0,1,1,1,0,1,1,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 43 { 0,1,0,1,0,1,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 44 { 0,1,0,1,0,1,0,0,1,0,1,0,0,1,1,0,1,0,1,1,0,0,1,0,0,1,0,0,1,0,1,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 45 { 0,1,0,1,1,1,1,0,1,0,1,0,0,1,1,0,1,0,1,1,0,0,1,0,0,1,0,1,1,1,1,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 46 { 0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0 },
Kern_EL17KJTF 1:7a0917df015a 47 { 0,0,1,0,0,1,1,1,0,0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 48 { 0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 49 { 0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 50 { 0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 51 { 0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 52 { 0,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 53 { 0,1,0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 54 { 0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0 },
Kern_EL17KJTF 1:7a0917df015a 55 { 0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 56 { 0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,1,1,0,0 },
Kern_EL17KJTF 1:7a0917df015a 57 { 0,0,0,0,1,1,0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 58 { 0,0,0,0,0,1,1,0,0,0,0,1,1,1,0,0,1,0,0,1,0,1,1,0,0,0,0,1,1,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 59 { 0,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 60 { 0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 61 { 0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 62 { 0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0 },
Kern_EL17KJTF 1:7a0917df015a 63 };
Kern_EL17KJTF 1:7a0917df015a 64
Kern_EL17KJTF 6:478f81e79d9b 65 // Game Engine ----------------------
Kern_EL17KJTF 7:ffbc921c20f7 66
Kern_EL17KJTF 7:ffbc921c20f7 67 class GameEngine
Kern_EL17KJTF 7:ffbc921c20f7 68 {
Kern_EL17KJTF 7:ffbc921c20f7 69
Kern_EL17KJTF 7:ffbc921c20f7 70 public:
Kern_EL17KJTF 7:ffbc921c20f7 71
Kern_EL17KJTF 7:ffbc921c20f7 72 GameEngine();
Kern_EL17KJTF 7:ffbc921c20f7 73
Kern_EL17KJTF 7:ffbc921c20f7 74 ~GameEngine();
Kern_EL17KJTF 7:ffbc921c20f7 75
Kern_EL17KJTF 7:ffbc921c20f7 76 void gameengine_run(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 7:ffbc921c20f7 77 };
Kern_EL17KJTF 6:478f81e79d9b 78 // Donkey -----
Kern_EL17KJTF 7:ffbc921c20f7 79
Kern_EL17KJTF 7:ffbc921c20f7 80 class Donkey
Kern_EL17KJTF 7:ffbc921c20f7 81 {
Kern_EL17KJTF 7:ffbc921c20f7 82
Kern_EL17KJTF 7:ffbc921c20f7 83 public:
Kern_EL17KJTF 7:ffbc921c20f7 84
Kern_EL17KJTF 7:ffbc921c20f7 85 Donkey();
Kern_EL17KJTF 7:ffbc921c20f7 86
Kern_EL17KJTF 7:ffbc921c20f7 87 ~Donkey();
Kern_EL17KJTF 7:ffbc921c20f7 88
Kern_EL17KJTF 7:ffbc921c20f7 89 void donkeykong_movement(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 7:ffbc921c20f7 90
Kern_EL17KJTF 7:ffbc921c20f7 91 };
Kern_EL17KJTF 5:5667c4ec3d7e 92
Kern_EL17KJTF 5:5667c4ec3d7e 93 int game_dk_walking_right_1[16][16] = {
Kern_EL17KJTF 5:5667c4ec3d7e 94 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 95 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 96 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 97 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 98 {1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 99 {1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 100 {1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 101 {1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 102 {1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 103 {1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 104 {1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 105 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 106 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 107 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 108 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 109 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 110 };
Kern_EL17KJTF 5:5667c4ec3d7e 111
Kern_EL17KJTF 5:5667c4ec3d7e 112 int game_dk_walking_left_1[16][16] = {
Kern_EL17KJTF 5:5667c4ec3d7e 113 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 114 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 115 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 116 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 117 {1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 118 {1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 119 {1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 120 {1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 121 {1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 122 {1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 123 {1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 124 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 125 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 126 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 127 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 128 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 129 };
Kern_EL17KJTF 5:5667c4ec3d7e 130
Kern_EL17KJTF 5:5667c4ec3d7e 131 int game_dk_stationary[16][16] = {
Kern_EL17KJTF 5:5667c4ec3d7e 132 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 133 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 134 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 135 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 136 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 137 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 138 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 139 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 140 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 141 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 142 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 143 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 144 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 145 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 146 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 147 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 148 };
Kern_EL17KJTF 6:478f81e79d9b 149 // Barrel -----
Kern_EL17KJTF 6:478f81e79d9b 150 // Banana -----
Kern_EL17KJTF 6:478f81e79d9b 151 // Controls -------------------------
Kern_EL17KJTF 6:478f81e79d9b 152 void controls_run();
Kern_EL17KJTF 6:478f81e79d9b 153 // Instructions ---------------------
Kern_EL17KJTF 6:478f81e79d9b 154 void instructions_run();
Kern_EL17KJTF 6:478f81e79d9b 155 // Options --------------------------
Kern_EL17KJTF 6:478f81e79d9b 156
Kern_EL17KJTF 6:478f81e79d9b 157 class Options
Kern_EL17KJTF 6:478f81e79d9b 158 {
Kern_EL17KJTF 6:478f81e79d9b 159
Kern_EL17KJTF 6:478f81e79d9b 160 public:
Kern_EL17KJTF 6:478f81e79d9b 161
Kern_EL17KJTF 6:478f81e79d9b 162 Options();
Kern_EL17KJTF 6:478f81e79d9b 163
Kern_EL17KJTF 6:478f81e79d9b 164 ~Options();
Kern_EL17KJTF 6:478f81e79d9b 165
Kern_EL17KJTF 6:478f81e79d9b 166 void options_run(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 167 void options_brightness(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 168 void options_contrast(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 169 void options_volume(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 170
Kern_EL17KJTF 6:478f81e79d9b 171
Kern_EL17KJTF 6:478f81e79d9b 172 };
Kern_EL17KJTF 6:478f81e79d9b 173
Kern_EL17KJTF 6:478f81e79d9b 174 // High Scores-----------------------
Kern_EL17KJTF 6:478f81e79d9b 175 void high_scores_run();
Kern_EL17KJTF 6:478f81e79d9b 176
Kern_EL17KJTF 1:7a0917df015a 177 #endif