Kern Fowler / Mbed 2 deprecated Donkey_Kong_Game

Dependencies:   mbed

Committer:
Kern_EL17KJTF
Date:
Tue May 07 15:19:56 2019 +0000
Revision:
6:478f81e79d9b
Parent:
5:5667c4ec3d7e
Child:
7:ffbc921c20f7
Due to L6312W error not allowing compiling, making the game in one file for now. - Options redone.

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 6:478f81e79d9b 66 void game_engine_run();
Kern_EL17KJTF 6:478f81e79d9b 67 // Donkey -----
Kern_EL17KJTF 6:478f81e79d9b 68 void donkeykong_x_movement();
Kern_EL17KJTF 5:5667c4ec3d7e 69
Kern_EL17KJTF 5:5667c4ec3d7e 70 int game_dk_walking_right_1[16][16] = {
Kern_EL17KJTF 5:5667c4ec3d7e 71 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 72 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 73 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 74 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 75 {1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 76 {1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 77 {1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 78 {1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 79 {1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 80 {1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 81 {1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 82 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 83 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 84 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 85 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 86 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 87 };
Kern_EL17KJTF 5:5667c4ec3d7e 88
Kern_EL17KJTF 5:5667c4ec3d7e 89 int game_dk_walking_left_1[16][16] = {
Kern_EL17KJTF 5:5667c4ec3d7e 90 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 91 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 92 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 93 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 94 {1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 95 {1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 96 {1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 97 {1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 98 {1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 99 {1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 100 {1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 101 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 102 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 103 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 104 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 105 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 106 };
Kern_EL17KJTF 5:5667c4ec3d7e 107
Kern_EL17KJTF 5:5667c4ec3d7e 108 int game_dk_stationary[16][16] = {
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 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 111 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 112 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 113 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 118 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 119 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 120 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 121 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 122 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 123 {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 124 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,},
Kern_EL17KJTF 5:5667c4ec3d7e 125 };
Kern_EL17KJTF 6:478f81e79d9b 126 // Barrel -----
Kern_EL17KJTF 6:478f81e79d9b 127 // Banana -----
Kern_EL17KJTF 6:478f81e79d9b 128 // Controls -------------------------
Kern_EL17KJTF 6:478f81e79d9b 129 void controls_run();
Kern_EL17KJTF 6:478f81e79d9b 130 // Instructions ---------------------
Kern_EL17KJTF 6:478f81e79d9b 131 void instructions_run();
Kern_EL17KJTF 6:478f81e79d9b 132 // Options --------------------------
Kern_EL17KJTF 6:478f81e79d9b 133
Kern_EL17KJTF 6:478f81e79d9b 134 class Options
Kern_EL17KJTF 6:478f81e79d9b 135 {
Kern_EL17KJTF 6:478f81e79d9b 136
Kern_EL17KJTF 6:478f81e79d9b 137 public:
Kern_EL17KJTF 6:478f81e79d9b 138
Kern_EL17KJTF 6:478f81e79d9b 139 Options();
Kern_EL17KJTF 6:478f81e79d9b 140
Kern_EL17KJTF 6:478f81e79d9b 141 ~Options();
Kern_EL17KJTF 6:478f81e79d9b 142
Kern_EL17KJTF 6:478f81e79d9b 143 void options_run(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 144 void options_brightness(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 145 void options_contrast(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 146 void options_volume(Gamepad &pad, N5110 &lcd);
Kern_EL17KJTF 6:478f81e79d9b 147
Kern_EL17KJTF 6:478f81e79d9b 148
Kern_EL17KJTF 6:478f81e79d9b 149 };
Kern_EL17KJTF 6:478f81e79d9b 150
Kern_EL17KJTF 6:478f81e79d9b 151 // High Scores-----------------------
Kern_EL17KJTF 6:478f81e79d9b 152 void high_scores_run();
Kern_EL17KJTF 6:478f81e79d9b 153
Kern_EL17KJTF 1:7a0917df015a 154 #endif