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:
- 11:c60b61a80060
- Parent:
- 10:2b52d7e06712
- Child:
- 12:3bfde5b4d834
--- a/main.cpp Thu May 09 00:01:29 2019 +0000
+++ b/main.cpp Thu May 09 02:59:11 2019 +0000
@@ -78,11 +78,17 @@
{ 1,0,1,0,0,0,0,0,1,0,1 },
{ 0,0,0,1,1,0,1,1,0,0,0 },
};
+int arrowd[6][11] = {
+ { 1,1,1,1,1,1,1,1,1,1,1 },
+ { 0,1,1,1,1,1,1,1,1,1,0 },
+ { 0,0,1,1,1,1,1,1,1,0,0 },
+ { 0,0,0,1,1,1,1,1,0,0,0 },
+ { 0,0,0,0,1,1,1,0,0,0,0 },
+ { 0,0,0,0,0,1,0,0,0,0,0 },
+};
///////////// functions ////////////////
int main()
{
- start:
- end = false;
int fps = 8; // frames per second
init(); // initialise and then display welcome screen...
@@ -90,8 +96,8 @@
menu:
menu();
-
- goto menu;
+ init();
+ end = false;
render(); // first draw the initial frame
wait(1.0f/fps); // and wait for one frame period
@@ -156,7 +162,7 @@
}
lcd.clear();
Game1Over();
- goto start;
+ goto menu;
}
// initialies all classes and libraries
@@ -202,7 +208,7 @@
}
void menu() {
-
+ lcd.clear();
lcd.printString(" MENU ",0,0);
lcd.printString("A ==> Story ",0,1);
lcd.printString("B ==> Play ",0,2);
@@ -215,14 +221,17 @@
if (pad.check_event(Gamepad::A_PRESSED) == true) {
choose = 1;
Story();
+ menu();
} else if (pad.check_event(Gamepad::B_PRESSED) == true) {
choose = 1;
} else if (pad.check_event(Gamepad::X_PRESSED) == true) {
choose = 1;
Controls();
+ menu();
} else if (pad.check_event(Gamepad::Y_PRESSED) == true) {
choose = 1;
Credits();
+ menu();
}
@@ -233,12 +242,54 @@
}
}
+
void Story() {
lcd.clear();
- lcd.printString(" Story ",0,1);
+ lcd.printString(" Story ",0,0);
+ lcd.printString("The Year: 2098",0,1);
+ lcd.printString("Humans Control",0,2);
+ lcd.printString("Sectors 3-8 Of",0,3);
+ lcd.printString("The Milky Way.",0,4);
+ lcd.printString(" Press A ",0,5);
+ lcd.drawSprite(WIDTH - 12,HEIGHT - 7,6,11,(int *)arrowd);
+ lcd.drawSprite(1,HEIGHT - 7,6,11,(int *)arrowd);
lcd.refresh();
+ int story = 0;
// wait flashing LEDs until start button is pressed
while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
+ if (pad.check_event(Gamepad::A_PRESSED) == true) {
+ lcd.clear();
+ lcd.printString(" Story ",0,0);
+ lcd.printString("You, The Last ",0,1);
+ lcd.printString("Of The Zonians",0,2);
+ lcd.printString(" Are Captured ",0,3);
+ lcd.printString("Used for Sport",0,4);
+ lcd.printString(" Press A ",0,5);
+ lcd.drawSprite(WIDTH - 12,HEIGHT - 7,6,11,(int *)arrowd);
+ lcd.drawSprite(1,HEIGHT - 7,6,11,(int *)arrowd);
+ lcd.refresh();
+ story = 1;
+ while (story == 1) {
+ if (pad.check_event(Gamepad::A_PRESSED) == true) {
+ story = 2;
+ }
+ }
+ while (story == 2){
+ lcd.clear();
+ lcd.printString(" Story ",0,0);
+ lcd.printString("They Name you ",0,1);
+ lcd.printString("'Spaceinvader'",0,2);
+ lcd.printString(" This Is Your ",0,3);
+ lcd.printString("Colosseum,RUN!",0,4);
+ lcd.printString("**Press Back**",0,5);
+ lcd.refresh();
+ if ( pad.check_event(Gamepad::BACK_PRESSED) == true){
+ break;
+
+ }
+ }
+ break;
+ }
pad.leds_on();
wait(0.1);
pad.leds_off();
@@ -248,11 +299,30 @@
}
void Controls() {
+
lcd.clear();
lcd.printString(" Controls ",0,0);
+ lcd.printString(" Aim: ",0,1);
+ lcd.printString("!!!!!!!!!!!!!!",0,2);
+ lcd.printString("AVOID THE BOMB",0,3);
+ lcd.printString("!!!!!!!!!!!!!!",0,4);
+ lcd.printString(" Press X",0,5);
+ lcd.drawSprite(WIDTH - 12,HEIGHT - 7,6,11,(int *)arrowd);
+ lcd.drawSprite(1,HEIGHT - 7,6,11,(int *)arrowd);
lcd.refresh();
- // wait flashing LEDs until start button is pressed
+ // wait flashing LEDs until start button is pressed
while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
+ if (pad.check_event(Gamepad::X_PRESSED) == true) {
+ lcd.clear();
+ lcd.printString(" Controls ",0,0);
+ lcd.printString(" How: ",0,1);
+ lcd.printString(" Use Joystick ",0,2);
+ lcd.printString("To Move Around",0,3);
+ lcd.printString(" The Screen ",0,4);
+ lcd.printString("**Press Back**",0,5);
+ lcd.refresh();
+ }
+
pad.leds_on();
wait(0.1);
pad.leds_off();
@@ -264,79 +334,97 @@
void Credits() {
lcd.clear();
lcd.printString(" Credits ",0,0);
- lcd.printString("By Henri Rigby ",0,4);
+ lcd.printString("By Henri Rigby ",0,3);
lcd.printString("SID: 201198821 ",0,2);
+ lcd.printString("**Press Back** ",0,5);
lcd.refresh();
// wait flashing LEDs until start button is pressed
while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
- wait(0.6);
+ wait(1);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.6);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.6);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.6);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.6);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1500.0,0.1);
wait(0.1);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
wait(0.3);
pad.leds_on();
+ pad.tone(1200.0,0.4);
wait(0.4);
pad.leds_off();
+
}
}