ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Thu Apr 11 21:29:48 2019 +0000
Revision:
34:c5a042973e0c
Parent:
30:6d6b48fe3679
Child:
37:4d525a37d5d2
better collision for keys and traps

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17arm 0:fe19852199d2 1 #include "mbed.h"
el17arm 0:fe19852199d2 2 #include "N5110.h"
el17arm 0:fe19852199d2 3 #include "Gamepad.h"
el17arm 29:d85886364643 4 #include "Gameengine.h"
el17arm 0:fe19852199d2 5
el17arm 34:c5a042973e0c 6 keyed _k;
el17arm 29:d85886364643 7 Gameengine game;
el17arm 0:fe19852199d2 8 Gamepad pad;
el17arm 0:fe19852199d2 9 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
el17arm 0:fe19852199d2 10 AnalogIn pot0(PTB2);
el17arm 0:fe19852199d2 11
el17arm 0:fe19852199d2 12 void contrast();
el17arm 0:fe19852199d2 13 void init();
el17arm 0:fe19852199d2 14 void start_screen();
el17arm 15:2bda80896a84 15 void render();
el17arm 19:4789cb4ca550 16 void restart();
el17arm 30:6d6b48fe3679 17 void button_a();
el17arm 0:fe19852199d2 18
el17arm 0:fe19852199d2 19 int main()
el17arm 0:fe19852199d2 20 {
el17arm 0:fe19852199d2 21 init();
el17arm 2:725c213b2396 22 start_screen();
el17arm 0:fe19852199d2 23
el17arm 0:fe19852199d2 24 while (1) {
el17arm 19:4789cb4ca550 25
el17arm 0:fe19852199d2 26 contrast();
el17arm 15:2bda80896a84 27 render();
el17arm 29:d85886364643 28 game.update(lcd, pad);
el17arm 19:4789cb4ca550 29 restart();
el17arm 9:f16581e1eba9 30 wait(0.1);
el17arm 0:fe19852199d2 31 }
el17arm 0:fe19852199d2 32
el17arm 0:fe19852199d2 33 }
el17arm 0:fe19852199d2 34
el17arm 0:fe19852199d2 35 void init()
el17arm 0:fe19852199d2 36 {
el17arm 0:fe19852199d2 37 lcd.init();
el17arm 0:fe19852199d2 38 lcd.normalMode(); // normal colour mode
el17arm 0:fe19852199d2 39 lcd.setBrightness(0.5); // put LED backlight on 50%
el17arm 0:fe19852199d2 40 lcd.refresh();
el17arm 0:fe19852199d2 41 pad.init();
el17arm 0:fe19852199d2 42 pad.leds_off();
el17arm 3:d27ee2440829 43 contrast();
el17arm 29:d85886364643 44 game.game_init();
el17arm 15:2bda80896a84 45 }
el17arm 2:725c213b2396 46
el17arm 15:2bda80896a84 47 void render()
el17arm 15:2bda80896a84 48 {
el17arm 29:d85886364643 49 game.draw(_k, lcd, pad);
el17arm 0:fe19852199d2 50 }
el17arm 0:fe19852199d2 51
el17arm 0:fe19852199d2 52 void contrast()
el17arm 0:fe19852199d2 53 {
el17arm 0:fe19852199d2 54 lcd.refresh();
el17arm 0:fe19852199d2 55 float con = pot0.read();
el17arm 0:fe19852199d2 56 lcd.setContrast(con);
el17arm 1:813ba5341985 57 lcd.clear();
el17arm 0:fe19852199d2 58 }
el17arm 0:fe19852199d2 59
el17arm 0:fe19852199d2 60 void start_screen()
el17arm 19:4789cb4ca550 61 {
el17arm 3:d27ee2440829 62 lcd.printString("*MANIC MILNER!*",0,1);
el17arm 3:d27ee2440829 63 lcd.printString(" Press start! ",0,4);
el17arm 3:d27ee2440829 64 lcd.refresh();
el17arm 0:fe19852199d2 65 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
el17arm 0:fe19852199d2 66 pad.leds_on();
el17arm 0:fe19852199d2 67 wait(0.1);
el17arm 0:fe19852199d2 68 pad.leds_off();
el17arm 0:fe19852199d2 69 wait(0.1);
el17arm 0:fe19852199d2 70 }
el17arm 19:4789cb4ca550 71 }
el17arm 19:4789cb4ca550 72
el17arm 19:4789cb4ca550 73 void restart()
el17arm 19:4789cb4ca550 74 {
el17arm 29:d85886364643 75 if (game.game_over() == true) {
el17arm 19:4789cb4ca550 76 lcd.clear();
el17arm 19:4789cb4ca550 77 lcd.printString("Game Over! ",16,1);
el17arm 19:4789cb4ca550 78 lcd.printString("Press reset to try again! ",0,3);
el17arm 19:4789cb4ca550 79 lcd.printString("try again! ",16,4);
el17arm 19:4789cb4ca550 80 wait(1);
el17arm 19:4789cb4ca550 81 }
el17arm 30:6d6b48fe3679 82 }
el17arm 30:6d6b48fe3679 83
el17arm 30:6d6b48fe3679 84 /*void button_a()
el17arm 30:6d6b48fe3679 85 {
el17arm 30:6d6b48fe3679 86 int b = buttona.read();
el17arm 30:6d6b48fe3679 87 printf("button a pressed %i", b);
el17arm 30:6d6b48fe3679 88 }*/