ELEC2645 (2018/19) / Mbed 2 deprecated el17mtu_

Dependencies:   mbed

Committer:
el17mtu
Date:
Thu May 09 01:41:26 2019 +0000
Revision:
13:349a682c0c4e
Parent:
12:343704be6401
score broken

Who changed what in which revision?

UserRevisionLine numberNew contents of line
el17mtu 0:15b74f0f8c7f 1 #include "ModeA.h"
el17mtu 0:15b74f0f8c7f 2
el17mtu 0:15b74f0f8c7f 3 ModeA::ModeA()
el17mtu 0:15b74f0f8c7f 4 {
el17mtu 0:15b74f0f8c7f 5
el17mtu 0:15b74f0f8c7f 6 }
el17mtu 0:15b74f0f8c7f 7
el17mtu 0:15b74f0f8c7f 8 ModeA::~ModeA()
el17mtu 0:15b74f0f8c7f 9 {
el17mtu 0:15b74f0f8c7f 10
el17mtu 0:15b74f0f8c7f 11 }
el17mtu 0:15b74f0f8c7f 12
el17mtu 0:15b74f0f8c7f 13 void ModeA::screen(N5110 &lcd)
el17mtu 0:15b74f0f8c7f 14 {
el17mtu 0:15b74f0f8c7f 15
el17mtu 0:15b74f0f8c7f 16 lcd.clear();
el17mtu 0:15b74f0f8c7f 17 lcd.printString("GAME",0,0);
el17mtu 0:15b74f0f8c7f 18 lcd.printString("Back:Rules",0,2);
el17mtu 12:343704be6401 19
el17mtu 12:343704be6401 20 };
el17mtu 12:343704be6401 21
el17mtu 12:343704be6401 22 void ModeA::initialise(N5110 &lcd)
el17mtu 12:343704be6401 23 {
el17mtu 10:1c3bdbf2fe9f 24 //variables for the square
el17mtu 10:1c3bdbf2fe9f 25 x_position = 12;
el17mtu 10:1c3bdbf2fe9f 26 y_position = 18;
el17mtu 10:1c3bdbf2fe9f 27 speed = 0;
el17mtu 0:15b74f0f8c7f 28 gravity = 1;
el17mtu 10:1c3bdbf2fe9f 29 //variables for the bar
el17mtu 11:e29b173ccb27 30 screen_width = 65;
el17mtu 1:44f4594eacac 31 bar_width = 10;
el17mtu 4:a81f05c8806a 32 bar_speed = 2;
el17mtu 12:343704be6401 33
el17mtu 12:343704be6401 34 score = 0;
el17mtu 12:343704be6401 35
el17mtu 12:343704be6401 36 //generating random sizes of the bar
el17mtu 10:1c3bdbf2fe9f 37 srand(time(NULL));
el17mtu 10:1c3bdbf2fe9f 38 size_top = rand() % 15;
el17mtu 10:1c3bdbf2fe9f 39 srand(time(NULL));
el17mtu 12:343704be6401 40 size_bottom = rand() % 15;
el17mtu 12:343704be6401 41
el17mtu 12:343704be6401 42
el17mtu 12:343704be6401 43 }
el17mtu 12:343704be6401 44
el17mtu 12:343704be6401 45 void ModeA::Bird(N5110 &lcd)
el17mtu 12:343704be6401 46
el17mtu 0:15b74f0f8c7f 47 {
el17mtu 13:349a682c0c4e 48
el17mtu 0:15b74f0f8c7f 49 lcd.drawRect(x_position, y_position,6,6,FILL_BLACK);
el17mtu 0:15b74f0f8c7f 50 lcd.refresh();
el17mtu 0:15b74f0f8c7f 51
el17mtu 12:343704be6401 52
el17mtu 12:343704be6401 53
el17mtu 12:343704be6401 54 if ( pad.check_event(Gamepad::Y_PRESSED) == true) {
el17mtu 12:343704be6401 55 speed = speed - gravity*5;
el17mtu 12:343704be6401 56 }
el17mtu 12:343704be6401 57
el17mtu 12:343704be6401 58 if (y_position > 48) {
el17mtu 12:343704be6401 59 lcd.clear();
el17mtu 12:343704be6401 60 lcd.printString("GAME OVER",6,2);
el17mtu 9:571f92b0211b 61 lcd.printString("Press BACK",6,4);
el17mtu 12:343704be6401 62 pad.tone(2000.0,0.3);
el17mtu 12:343704be6401 63 lcd.refresh();
el17mtu 9:571f92b0211b 64 bar_speed = 0;
el17mtu 12:343704be6401 65 speed = 0;
el17mtu 9:571f92b0211b 66 gravity = 0;
el17mtu 9:571f92b0211b 67 y_position = 48;
el17mtu 12:343704be6401 68 bar_width = 0;
el17mtu 12:343704be6401 69 size_top = 0;
el17mtu 9:571f92b0211b 70 size_bottom = 0;
el17mtu 12:343704be6401 71 wait(0.5);
el17mtu 12:343704be6401 72 }
el17mtu 12:343704be6401 73
el17mtu 12:343704be6401 74 if (y_position < 0) {
el17mtu 12:343704be6401 75 y_position = 0;
el17mtu 12:343704be6401 76 speed = 0;
el17mtu 12:343704be6401 77 }
el17mtu 12:343704be6401 78
el17mtu 12:343704be6401 79 speed = speed + gravity;
el17mtu 12:343704be6401 80 y_position = y_position + speed;
el17mtu 12:343704be6401 81 wait(0.1);
el17mtu 12:343704be6401 82
el17mtu 12:343704be6401 83 lcd.drawRect(screen_width,0,bar_width,size_top,FILL_BLACK);
el17mtu 12:343704be6401 84 lcd.drawRect(screen_width,48-size_bottom,bar_width,size_bottom,FILL_BLACK);
el17mtu 12:343704be6401 85 lcd.refresh();
el17mtu 12:343704be6401 86
el17mtu 13:349a682c0c4e 87
el17mtu 12:343704be6401 88
el17mtu 12:343704be6401 89 if ( pad.check_event(Gamepad::X_PRESSED) == true) {
el17mtu 12:343704be6401 90 srand(time(NULL));
el17mtu 11:e29b173ccb27 91 size_top = rand() % 15;
el17mtu 12:343704be6401 92 srand(time(NULL));
el17mtu 12:343704be6401 93 size_bottom = rand() % 15;
el17mtu 0:15b74f0f8c7f 94 }
el17mtu 0:15b74f0f8c7f 95
el17mtu 12:343704be6401 96 if ((screen_width == x_position)&& (size_top > y_position)) {
el17mtu 12:343704be6401 97 lcd.clear();
el17mtu 12:343704be6401 98 lcd.printString("GAME OVER",6,2);
el17mtu 12:343704be6401 99 lcd.printString("Press BACK",6,4);
el17mtu 12:343704be6401 100 pad.tone(2000.0,0.3);
el17mtu 12:343704be6401 101 lcd.refresh();
el17mtu 12:343704be6401 102 bar_speed = 0;
el17mtu 12:343704be6401 103 speed = 0;
el17mtu 12:343704be6401 104 gravity = 0;
el17mtu 12:343704be6401 105 y_position = 48;
el17mtu 12:343704be6401 106 bar_width = 0;
el17mtu 12:343704be6401 107 size_top = 0;
el17mtu 12:343704be6401 108 size_bottom = 0;
el17mtu 12:343704be6401 109 }
el17mtu 12:343704be6401 110
el17mtu 12:343704be6401 111 screen_width = screen_width - bar_speed;
el17mtu 12:343704be6401 112 wait(0.1);
el17mtu 12:343704be6401 113
el17mtu 12:343704be6401 114 }
el17mtu 12:343704be6401 115
el17mtu 12:343704be6401 116
el17mtu 12:343704be6401 117
el17mtu 12:343704be6401 118
el17mtu 12:343704be6401 119