Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 10:2b52d7e06712
- Parent:
- 9:436b88b70fdd
- Child:
- 11:c60b61a80060
--- a/main.cpp Wed May 08 22:53:22 2019 +0000
+++ b/main.cpp Thu May 09 00:01:29 2019 +0000
@@ -25,6 +25,9 @@
void render();
void welcome();
void menu();
+void Story();
+void Controls();
+void Credits();
void Game1Over();
void x1_1();
void x1_2();
@@ -38,6 +41,7 @@
int score = 0;
int speed = MISSILES_SPEED;
int i=0;
+int choose = 0;
int X_1[11][11] = {
{ 1,1,0,0,0,0,0,0,0,0,0 },
{ 1,1,1,0,0,0,0,0,0,0,0 },
@@ -84,8 +88,10 @@
init(); // initialise and then display welcome screen...
welcome(); // waiting for the user to start
+ menu:
menu();
+ goto menu;
render(); // first draw the initial frame
wait(1.0f/fps); // and wait for one frame period
@@ -203,9 +209,50 @@
lcd.printString("X ==> Controls ",0,3);
lcd.printString("Y ==> Credits ",0,4);
lcd.refresh();
-
+ choose = 0;
// wait flashing LEDs until start button is pressed
- while ( pad.check_event(Gamepad::START_PRESSED) == false) {
+ while (choose == 0) {
+ if (pad.check_event(Gamepad::A_PRESSED) == true) {
+ choose = 1;
+ Story();
+ } else if (pad.check_event(Gamepad::B_PRESSED) == true) {
+ choose = 1;
+ } else if (pad.check_event(Gamepad::X_PRESSED) == true) {
+ choose = 1;
+ Controls();
+ } else if (pad.check_event(Gamepad::Y_PRESSED) == true) {
+ choose = 1;
+ Credits();
+ }
+
+
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.1);
+ }
+}
+
+void Story() {
+ lcd.clear();
+ lcd.printString(" Story ",0,1);
+ lcd.refresh();
+ // wait flashing LEDs until start button is pressed
+ while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.1);
+ }
+
+}
+
+void Controls() {
+ lcd.clear();
+ lcd.printString(" Controls ",0,0);
+ lcd.refresh();
+ // wait flashing LEDs until start button is pressed
+ while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
pad.leds_on();
wait(0.1);
pad.leds_off();
@@ -214,8 +261,88 @@
}
+void Credits() {
+ lcd.clear();
+ lcd.printString(" Credits ",0,0);
+ lcd.printString("By Henri Rigby ",0,4);
+ lcd.printString("SID: 201198821 ",0,2);
+ lcd.refresh();
+ // wait flashing LEDs until start button is pressed
+ while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
+ wait(0.6);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.6);
+
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.6);
+
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.6);
+
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.6);
+
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.1);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ wait(0.3);
+ pad.leds_on();
+ wait(0.4);
+ pad.leds_off();
+ }
+
+}
+
void Game1Over() {
- lcd.printString(" You died! ",0,1);
+ lcd.printString(" You Died! ",0,1);
lcd.printString(" Score =",0,2);
spacerebellion.print_scores(lcd);
lcd.drawSprite(5,3,11,11,(int *)X_2);