ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Wed Mar 20 01:32:31 2019 +0000
Revision:
2:725c213b2396
Parent:
1:813ba5341985
Child:
3:d27ee2440829
Collision now detected though sprite does not react to collision yet

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 0:fe19852199d2 6
el17arm 2:725c213b2396 7 Levelengine level;
el17arm 0:fe19852199d2 8 Minerengine engine;
el17arm 0:fe19852199d2 9 Gamepad pad;
el17arm 0:fe19852199d2 10 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
el17arm 0:fe19852199d2 11 AnalogIn pot0(PTB2);
el17arm 0:fe19852199d2 12
el17arm 0:fe19852199d2 13 void contrast();
el17arm 0:fe19852199d2 14 void init();
el17arm 0:fe19852199d2 15 void start_screen();
el17arm 0:fe19852199d2 16
el17arm 0:fe19852199d2 17 int main()
el17arm 0:fe19852199d2 18 {
el17arm 2:725c213b2396 19 lcd.clear();
el17arm 0:fe19852199d2 20 init();
el17arm 2:725c213b2396 21 start_screen();
el17arm 2:725c213b2396 22 lcd.refresh();
el17arm 0:fe19852199d2 23
el17arm 0:fe19852199d2 24 while (1) {
el17arm 0:fe19852199d2 25
el17arm 0:fe19852199d2 26 contrast();
el17arm 2:725c213b2396 27 level.test_level(lcd);
el17arm 1:813ba5341985 28 engine.read_direction(pad);
el17arm 1:813ba5341985 29 engine.miner_move();
el17arm 1:813ba5341985 30 engine.miner_draw(lcd);
el17arm 1:813ba5341985 31 engine.miner_jump(lcd, pad);
el17arm 1:813ba5341985 32 wait(0.1);
el17arm 2:725c213b2396 33
el17arm 0:fe19852199d2 34 }
el17arm 0:fe19852199d2 35
el17arm 0:fe19852199d2 36 }
el17arm 0:fe19852199d2 37
el17arm 0:fe19852199d2 38 void init()
el17arm 0:fe19852199d2 39 {
el17arm 0:fe19852199d2 40 lcd.init();
el17arm 0:fe19852199d2 41 lcd.normalMode(); // normal colour mode
el17arm 0:fe19852199d2 42 lcd.setBrightness(0.5); // put LED backlight on 50%
el17arm 0:fe19852199d2 43 lcd.refresh();
el17arm 0:fe19852199d2 44 pad.init();
el17arm 0:fe19852199d2 45 pad.leds_off();
el17arm 2:725c213b2396 46
el17arm 2:725c213b2396 47
el17arm 0:fe19852199d2 48 }
el17arm 0:fe19852199d2 49
el17arm 0:fe19852199d2 50 void contrast()
el17arm 0:fe19852199d2 51 {
el17arm 0:fe19852199d2 52 lcd.refresh();
el17arm 0:fe19852199d2 53 float con = pot0.read();
el17arm 0:fe19852199d2 54 lcd.setContrast(con);
el17arm 1:813ba5341985 55 lcd.clear();
el17arm 0:fe19852199d2 56
el17arm 0:fe19852199d2 57 }
el17arm 0:fe19852199d2 58
el17arm 0:fe19852199d2 59 void start_screen()
el17arm 2:725c213b2396 60 {
el17arm 2:725c213b2396 61
el17arm 0:fe19852199d2 62 lcd.printString("***MANIC MILNER!***",0,1);
el17arm 0:fe19852199d2 63 lcd.printString(" Press start to play! ",0,4);
el17arm 2:725c213b2396 64
el17arm 0:fe19852199d2 65
el17arm 0:fe19852199d2 66 while ( pad.check_event(Gamepad::START_PRESSED) == false) {
el17arm 2:725c213b2396 67 contrast();
el17arm 0:fe19852199d2 68 pad.leds_on();
el17arm 0:fe19852199d2 69 wait(0.1);
el17arm 0:fe19852199d2 70 pad.leds_off();
el17arm 0:fe19852199d2 71 wait(0.1);
el17arm 2:725c213b2396 72
el17arm 0:fe19852199d2 73 }
el17arm 0:fe19852199d2 74 }
el17arm 0:fe19852199d2 75
el17arm 0:fe19852199d2 76 /*void minermove()
el17arm 0:fe19852199d2 77 {
el17arm 2:725c213b2396 78
el17arm 0:fe19852199d2 79 const int miner_right[13][5] = {
el17arm 0:fe19852199d2 80 0,0,0,1,1,
el17arm 0:fe19852199d2 81 0,1,1,1,1,
el17arm 0:fe19852199d2 82 0,1,0,1,0,
el17arm 0:fe19852199d2 83 0,1,1,1,1,
el17arm 0:fe19852199d2 84 0,1,1,1,0,
el17arm 0:fe19852199d2 85 0,0,1,0,0,
el17arm 0:fe19852199d2 86 1,1,1,1,1,
el17arm 0:fe19852199d2 87 1,1,1,1,1,
el17arm 0:fe19852199d2 88 1,1,1,1,1,
el17arm 0:fe19852199d2 89 0,1,1,1,0,
el17arm 0:fe19852199d2 90 0,1,0,1,0,
el17arm 0:fe19852199d2 91 0,1,1,1,1,
el17arm 0:fe19852199d2 92 };
el17arm 0:fe19852199d2 93
el17arm 0:fe19852199d2 94 const int miner_left[13][5] = {
el17arm 0:fe19852199d2 95 1,1,0,0,0,
el17arm 0:fe19852199d2 96 1,1,1,1,0,
el17arm 0:fe19852199d2 97 0,1,0,1,0,
el17arm 0:fe19852199d2 98 1,1,1,1,0,
el17arm 0:fe19852199d2 99 0,1,1,1,0,
el17arm 0:fe19852199d2 100 0,0,1,0,0,
el17arm 0:fe19852199d2 101 1,1,1,1,1,
el17arm 0:fe19852199d2 102 1,1,1,1,1,
el17arm 0:fe19852199d2 103 1,1,1,1,1,
el17arm 0:fe19852199d2 104 0,1,1,1,0,
el17arm 0:fe19852199d2 105 0,1,0,1,0,
el17arm 0:fe19852199d2 106 1,1,1,1,0,
el17arm 0:fe19852199d2 107 };
el17arm 2:725c213b2396 108
el17arm 0:fe19852199d2 109 lcd.drawSprite(WIDTH/2 + x_direction,HEIGHT/2 + y_direction,13,5,(int *)miner_right);
el17arm 2:725c213b2396 110
el17arm 0:fe19852199d2 111 Direction d = pad.get_direction();
el17arm 0:fe19852199d2 112 printf("Direction = %i\n",d);
el17arm 0:fe19852199d2 113
el17arm 0:fe19852199d2 114 if (d==3) {
el17arm 0:fe19852199d2 115
el17arm 0:fe19852199d2 116 x_direction = x_direction + 1;
el17arm 0:fe19852199d2 117 lcd.clear();
el17arm 0:fe19852199d2 118 lcd.drawSprite(WIDTH/2 + x_direction,HEIGHT/2 + y_direction,13,5,(int *)miner_right);
el17arm 0:fe19852199d2 119 lcd.refresh();
el17arm 0:fe19852199d2 120 wait(0.05);
el17arm 0:fe19852199d2 121
el17arm 0:fe19852199d2 122 }
el17arm 0:fe19852199d2 123
el17arm 0:fe19852199d2 124 if (d == 7) {
el17arm 0:fe19852199d2 125
el17arm 0:fe19852199d2 126 x_direction = x_direction - 1;
el17arm 0:fe19852199d2 127 lcd.clear();
el17arm 0:fe19852199d2 128 lcd.drawSprite(WIDTH/2 + x_direction,HEIGHT/2 + y_direction,13,5,(int *)miner_left);
el17arm 0:fe19852199d2 129 lcd.refresh();
el17arm 0:fe19852199d2 130 wait(0.05);
el17arm 0:fe19852199d2 131 }
el17arm 0:fe19852199d2 132 //lcd.drawSprite(WIDTH/2 + x,HEIGHT/2 + y,13,5,(int *)miner);
el17arm 0:fe19852199d2 133 //lcd.refresh();
el17arm 0:fe19852199d2 134
el17arm 0:fe19852199d2 135 if(pad.check_event(Gamepad::A_PRESSED)) {
el17arm 0:fe19852199d2 136
el17arm 0:fe19852199d2 137
el17arm 0:fe19852199d2 138 printf("A pressed");
el17arm 0:fe19852199d2 139 y_direction = y_direction - 6;
el17arm 0:fe19852199d2 140 lcd.clear();
el17arm 0:fe19852199d2 141 lcd.drawSprite(WIDTH/2 + x_direction,HEIGHT/2 + y_direction,13,5,(int *)miner_right);
el17arm 0:fe19852199d2 142 lcd.refresh();
el17arm 0:fe19852199d2 143 wait(0.2);
el17arm 0:fe19852199d2 144 y_direction = y_direction + 6;
el17arm 0:fe19852199d2 145 }
el17arm 0:fe19852199d2 146 }*/