ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Thu Mar 28 01:07:49 2019 +0000
Revision:
11:61f28e3448d3
Parent:
10:65a6866d418b
Child:
12:adf4ec04ced2
sprite collision resembles that of Manic Miner now, first level platforms laid out as per level 1 of Manic Miner game.

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 0:fe19852199d2 4 #include "Minerengine.h"
el17arm 2:725c213b2396 5 #include "Levelengine.h"
el17arm 4:b92da6a09c8b 6 #include "Gameengine.h"
el17arm 0:fe19852199d2 7
el17arm 2:725c213b2396 8 Levelengine level;
el17arm 4:b92da6a09c8b 9 Minerengine miner;
el17arm 0:fe19852199d2 10 Gamepad pad;
el17arm 0:fe19852199d2 11 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
el17arm 0:fe19852199d2 12 AnalogIn pot0(PTB2);
el17arm 0:fe19852199d2 13
el17arm 0:fe19852199d2 14 void contrast();
el17arm 0:fe19852199d2 15 void init();
el17arm 0:fe19852199d2 16 void start_screen();
el17arm 0:fe19852199d2 17
el17arm 0:fe19852199d2 18 int main()
el17arm 0:fe19852199d2 19 {
el17arm 0:fe19852199d2 20 init();
el17arm 2:725c213b2396 21 start_screen();
el17arm 8:9bc80e40ac0d 22 miner.miner_init();
el17arm 0:fe19852199d2 23
el17arm 0:fe19852199d2 24 while (1) {
el17arm 0:fe19852199d2 25
el17arm 0:fe19852199d2 26 contrast();
el17arm 11:61f28e3448d3 27 level.central_cavern(lcd);
el17arm 4:b92da6a09c8b 28 miner.miner_gravity(lcd);
el17arm 4:b92da6a09c8b 29 miner.miner_jump(lcd, pad);
el17arm 4:b92da6a09c8b 30 miner.read_direction(pad);
el17arm 10:65a6866d418b 31 miner.miner_move();
el17arm 10:65a6866d418b 32 miner.miner_draw(lcd);
el17arm 10:65a6866d418b 33 miner.miner_collision(lcd);
el17arm 9:f16581e1eba9 34 wait(0.1);
el17arm 2:725c213b2396 35
el17arm 0:fe19852199d2 36 }
el17arm 0:fe19852199d2 37
el17arm 0:fe19852199d2 38 }
el17arm 0:fe19852199d2 39
el17arm 0:fe19852199d2 40 void init()
el17arm 0:fe19852199d2 41 {
el17arm 0:fe19852199d2 42 lcd.init();
el17arm 0:fe19852199d2 43 lcd.normalMode(); // normal colour mode
el17arm 0:fe19852199d2 44 lcd.setBrightness(0.5); // put LED backlight on 50%
el17arm 0:fe19852199d2 45 lcd.refresh();
el17arm 0:fe19852199d2 46 pad.init();
el17arm 0:fe19852199d2 47 pad.leds_off();
el17arm 3:d27ee2440829 48 contrast();
el17arm 2:725c213b2396 49
el17arm 2:725c213b2396 50
el17arm 0:fe19852199d2 51 }
el17arm 0:fe19852199d2 52
el17arm 0:fe19852199d2 53 void contrast()
el17arm 0:fe19852199d2 54 {
el17arm 0:fe19852199d2 55 lcd.refresh();
el17arm 0:fe19852199d2 56 float con = pot0.read();
el17arm 0:fe19852199d2 57 lcd.setContrast(con);
el17arm 1:813ba5341985 58 lcd.clear();
el17arm 0:fe19852199d2 59
el17arm 0:fe19852199d2 60 }
el17arm 0:fe19852199d2 61
el17arm 0:fe19852199d2 62 void start_screen()
el17arm 2:725c213b2396 63 {
el17arm 3:d27ee2440829 64
el17arm 3:d27ee2440829 65 lcd.printString("*MANIC MILNER!*",0,1);
el17arm 3:d27ee2440829 66 lcd.printString(" Press start! ",0,4);
el17arm 3:d27ee2440829 67 lcd.refresh();
el17arm 0:fe19852199d2 68
el17arm 0:fe19852199d2 69 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
el17arm 0:fe19852199d2 70 pad.leds_on();
el17arm 0:fe19852199d2 71 wait(0.1);
el17arm 0:fe19852199d2 72 pad.leds_off();
el17arm 0:fe19852199d2 73 wait(0.1);
el17arm 0:fe19852199d2 74 }
el17arm 3:d27ee2440829 75 }