ELEC2645 (2018/19) / Mbed 2 deprecated el17mtu_

Dependencies:   mbed

Committer:
el17mtu
Date:
Wed May 08 15:07:00 2019 +0000
Revision:
2:6ee8616695d1
Parent:
1:44f4594eacac
Child:
3:8e6950aeec8a
bar moving

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 0:15b74f0f8c7f 19
el17mtu 0:15b74f0f8c7f 20 };
el17mtu 0:15b74f0f8c7f 21
el17mtu 0:15b74f0f8c7f 22 void ModeA::initialise(N5110 &lcd)
el17mtu 0:15b74f0f8c7f 23 {
el17mtu 0:15b74f0f8c7f 24 x_position = 5;
el17mtu 0:15b74f0f8c7f 25 y_position = 18;
el17mtu 0:15b74f0f8c7f 26 speed = 0;
el17mtu 0:15b74f0f8c7f 27 gravity = 1;
el17mtu 1:44f4594eacac 28
el17mtu 1:44f4594eacac 29 screen_width = 50;
el17mtu 1:44f4594eacac 30 bar_width = 10;
el17mtu 2:6ee8616695d1 31
el17mtu 1:44f4594eacac 32 bar_speed = 4;
el17mtu 1:44f4594eacac 33 size_top = rand() % 48;
el17mtu 1:44f4594eacac 34 size_bottom = rand() % 48;
el17mtu 0:15b74f0f8c7f 35 }
el17mtu 0:15b74f0f8c7f 36
el17mtu 0:15b74f0f8c7f 37
el17mtu 0:15b74f0f8c7f 38 void ModeA::Bird(N5110 &lcd)
el17mtu 0:15b74f0f8c7f 39
el17mtu 0:15b74f0f8c7f 40 {
el17mtu 0:15b74f0f8c7f 41
el17mtu 0:15b74f0f8c7f 42
el17mtu 0:15b74f0f8c7f 43 lcd.drawRect(x_position, y_position,6,6,FILL_BLACK);
el17mtu 1:44f4594eacac 44 lcd.drawRect(screen_width,0,bar_width,size_top,FILL_BLACK);
el17mtu 1:44f4594eacac 45 lcd.drawRect(screen_width,48-size_bottom,bar_width,size_bottom,FILL_BLACK);
el17mtu 0:15b74f0f8c7f 46 lcd.refresh();
el17mtu 0:15b74f0f8c7f 47
el17mtu 0:15b74f0f8c7f 48
el17mtu 0:15b74f0f8c7f 49
el17mtu 0:15b74f0f8c7f 50 if ( pad.check_event(Gamepad::Y_PRESSED) == true) {
el17mtu 0:15b74f0f8c7f 51
el17mtu 0:15b74f0f8c7f 52 speed = speed - gravity*5;
el17mtu 0:15b74f0f8c7f 53
el17mtu 0:15b74f0f8c7f 54 }
el17mtu 0:15b74f0f8c7f 55
el17mtu 0:15b74f0f8c7f 56 if (y_position > 42) {
el17mtu 0:15b74f0f8c7f 57 y_position = 42;
el17mtu 0:15b74f0f8c7f 58 speed = 0;
el17mtu 0:15b74f0f8c7f 59 }
el17mtu 0:15b74f0f8c7f 60
el17mtu 0:15b74f0f8c7f 61 if (y_position < 0) {
el17mtu 0:15b74f0f8c7f 62 y_position = 0;
el17mtu 0:15b74f0f8c7f 63 speed = 0;
el17mtu 0:15b74f0f8c7f 64 }
el17mtu 0:15b74f0f8c7f 65
el17mtu 0:15b74f0f8c7f 66 speed = speed + gravity;
el17mtu 0:15b74f0f8c7f 67 y_position = y_position + speed;
el17mtu 0:15b74f0f8c7f 68 wait(0.1);
el17mtu 2:6ee8616695d1 69
el17mtu 2:6ee8616695d1 70 if (bar_width > 80) {
el17mtu 2:6ee8616695d1 71 bar_width = 80;
el17mtu 2:6ee8616695d1 72 bar_speed = 0;
el17mtu 2:6ee8616695d1 73 }
el17mtu 2:6ee8616695d1 74
el17mtu 2:6ee8616695d1 75 if (bar_width < 0) {
el17mtu 2:6ee8616695d1 76 bar_width = 0;
el17mtu 2:6ee8616695d1 77 bar_speed = 0;
el17mtu 2:6ee8616695d1 78 }
el17mtu 0:15b74f0f8c7f 79
el17mtu 1:44f4594eacac 80 screen_width = screen_width - bar_speed;
el17mtu 0:15b74f0f8c7f 81
el17mtu 0:15b74f0f8c7f 82 }
el17mtu 0:15b74f0f8c7f 83
el17mtu 0:15b74f0f8c7f 84
el17mtu 0:15b74f0f8c7f 85
el17mtu 0:15b74f0f8c7f 86
el17mtu 0:15b74f0f8c7f 87
el17mtu 0:15b74f0f8c7f 88