Mortal Kombat Game ELEC2645
Dependencies: mbed N5110 ShiftReg Joystick
main.cpp@20:4ca04fd0965a, 2021-05-07 (annotated)
- Committer:
- ozy
- Date:
- Fri May 07 16:58:36 2021 +0000
- Revision:
- 20:4ca04fd0965a
- Parent:
- 19:6c63e1dd7c85
- Child:
- 21:fad1c9f010d1
Before changing to seamless version
Who changed what in which revision?
User | Revision | Line number | New 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 | 9:8c840b08a633 | 9 | ///////////// objects ///////////////////// |
ozy | 6:a1a7dc264fed | 10 | GameEngine game; |
ozy | 3:1d99b6ad4f9e | 11 | Fighter fighter; |
ozy | 0:99b49fd71085 | 12 | Menu menu; |
ozy | 7:737fb0c3dbef | 13 | Enemy enemy; |
ozy | 3:1d99b6ad4f9e | 14 | DigitalIn buttonA(p29); |
ozy | 3:1d99b6ad4f9e | 15 | DigitalIn buttonB(p28); |
ozy | 3:1d99b6ad4f9e | 16 | DigitalIn buttonC(p27); |
ozy | 3:1d99b6ad4f9e | 17 | DigitalIn buttonD(p26); |
ozy | 0:99b49fd71085 | 18 | AnalogIn joy_v(p20); |
ozy | 0:99b49fd71085 | 19 | AnalogIn joy_h(p19); |
ozy | 0:99b49fd71085 | 20 | N5110 lcd(p14,p8,p9,p10,p11,p13,p21); |
ozy | 0:99b49fd71085 | 21 | //////////// functions //////////////////// |
ozy | 0:99b49fd71085 | 22 | void init(); |
ozy | 0:99b49fd71085 | 23 | void menu_screen(); |
ozy | 0:99b49fd71085 | 24 | void draw_background(); |
ozy | 18:22bda659c70a | 25 | void game_over(int loser); |
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 | 0:99b49fd71085 | 38 | } |
ozy | 0:99b49fd71085 | 39 | |
ozy | 0:99b49fd71085 | 40 | void init() { // initialize all devices |
ozy | 0:99b49fd71085 | 41 | lcd.init(); |
ozy | 0:99b49fd71085 | 42 | lcd.setContrast(0.5); |
ozy | 19:6c63e1dd7c85 | 43 | game.init(); |
ozy | 0:99b49fd71085 | 44 | } |
ozy | 0:99b49fd71085 | 45 | |
ozy | 3:1d99b6ad4f9e | 46 | void menu_screen() { |
ozy | 20:4ca04fd0965a | 47 | menu.menu_render(lcd); |
ozy | 0:99b49fd71085 | 48 | } |
ozy | 0:99b49fd71085 | 49 | |
ozy | 0:99b49fd71085 | 50 | void draw_background() { |
ozy | 0:99b49fd71085 | 51 | // lcd.drawLine(x1, y1, x2, y2, type); |
ozy | 0:99b49fd71085 | 52 | lcd.drawLine(0,46,82,46,1); // draws ground platform |
ozy | 0:99b49fd71085 | 53 | lcd.drawLine(0,46,0,25,1); // draws first side wall |
ozy | 0:99b49fd71085 | 54 | lcd.drawLine(82,46,82,25,1); // draws second side wall |
ozy | 0:99b49fd71085 | 55 | lcd.refresh(); |
ozy | 20:4ca04fd0965a | 56 | } |
ozy | 18:22bda659c70a | 57 | |
ozy | 0:99b49fd71085 | 58 | |
ozy | 18:22bda659c70a | 59 | void game_over(int loser) { |
ozy | 18:22bda659c70a | 60 | lcd.clear(); |
ozy | 18:22bda659c70a | 61 | lcd.printString(" Game Over! ",15,2); |
ozy | 20:4ca04fd0965a | 62 | } |