ELEC2645 (2018/19) / Mbed 2 deprecated el17arm

Dependencies:   mbed

Committer:
el17arm
Date:
Tue Mar 19 14:48:40 2019 +0000
Revision:
1:813ba5341985
Parent:
0:fe19852199d2
Child:
2:725c213b2396
minerengine class working fine, jumping and moving. Next will build new class to build environment for character.

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