Mortal Kombat Game ELEC2645

Dependencies:   mbed N5110 ShiftReg Joystick

Committer:
ozy
Date:
Sat May 08 00:09:54 2021 +0000
Revision:
21:fad1c9f010d1
Parent:
20:4ca04fd0965a
Child:
22:225d4031c090
working game

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ozy 0:99b49fd71085 1 ///////////// includes /////////////////////
ozy 0:99b49fd71085 2 #include "mbed.h"
ozy 0:99b49fd71085 3 #include "N5110.h"
ozy 0:99b49fd71085 4 #include "Fighter.h"
ozy 0:99b49fd71085 5 #include "Joystick.h"
ozy 0:99b49fd71085 6 #include "Menu.h"
ozy 9:8c840b08a633 7 #include "Enemy.h"
ozy 6:a1a7dc264fed 8 #include "GameEngine.h"
ozy 21:fad1c9f010d1 9 #include "ShiftReg.h"
ozy 9:8c840b08a633 10 ///////////// objects /////////////////////
ozy 6:a1a7dc264fed 11 GameEngine game;
ozy 3:1d99b6ad4f9e 12 Fighter fighter;
ozy 0:99b49fd71085 13 Menu menu;
ozy 7:737fb0c3dbef 14 Enemy enemy;
ozy 3:1d99b6ad4f9e 15 DigitalIn buttonA(p29);
ozy 3:1d99b6ad4f9e 16 DigitalIn buttonB(p28);
ozy 3:1d99b6ad4f9e 17 DigitalIn buttonC(p27);
ozy 3:1d99b6ad4f9e 18 DigitalIn buttonD(p26);
ozy 0:99b49fd71085 19 AnalogIn joy_v(p20);
ozy 0:99b49fd71085 20 AnalogIn joy_h(p19);
ozy 0:99b49fd71085 21 N5110 lcd(p14,p8,p9,p10,p11,p13,p21);
ozy 0:99b49fd71085 22 //////////// functions ////////////////////
ozy 0:99b49fd71085 23 void init();
ozy 0:99b49fd71085 24 void menu_screen();
ozy 0:99b49fd71085 25 void draw_background();
ozy 3:1d99b6ad4f9e 26
ozy 0:99b49fd71085 27
ozy 0:99b49fd71085 28 int main() {
ozy 0:99b49fd71085 29 init();
ozy 20:4ca04fd0965a 30 menu_screen();
ozy 0:99b49fd71085 31 while(1) {
ozy 2:1703eb2a68f8 32 lcd.clear();
ozy 3:1d99b6ad4f9e 33 draw_background();
ozy 10:e83899f11e8a 34 game.start(lcd, buttonA, buttonB, buttonC, buttonD, joy_v, joy_h);
ozy 10:e83899f11e8a 35 lcd.refresh();
ozy 18:22bda659c70a 36 wait(0.2);
ozy 0:99b49fd71085 37 }
ozy 21:fad1c9f010d1 38
ozy 0:99b49fd71085 39 }
ozy 0:99b49fd71085 40
ozy 0:99b49fd71085 41 void init() { // initialize all devices
ozy 0:99b49fd71085 42 lcd.init();
ozy 0:99b49fd71085 43 lcd.setContrast(0.5);
ozy 19:6c63e1dd7c85 44 game.init();
ozy 0:99b49fd71085 45 }
ozy 0:99b49fd71085 46
ozy 3:1d99b6ad4f9e 47 void menu_screen() {
ozy 20:4ca04fd0965a 48 menu.menu_render(lcd);
ozy 0:99b49fd71085 49 }
ozy 0:99b49fd71085 50
ozy 0:99b49fd71085 51 void draw_background() {
ozy 0:99b49fd71085 52 // lcd.drawLine(x1, y1, x2, y2, type);
ozy 0:99b49fd71085 53 lcd.drawLine(0,46,82,46,1); // draws ground platform
ozy 0:99b49fd71085 54 lcd.drawLine(0,46,0,25,1); // draws first side wall
ozy 0:99b49fd71085 55 lcd.drawLine(82,46,82,25,1); // draws second side wall
ozy 0:99b49fd71085 56 lcd.refresh();
ozy 20:4ca04fd0965a 57 }
ozy 18:22bda659c70a 58
ozy 0:99b49fd71085 59