Dependencies:   mbed

Committer:
ll17lrc
Date:
Tue May 26 18:16:31 2020 +0000
Revision:
12:299479b6bb59
Parent:
11:7a4abe731f9c
Child:
13:fd290d2fd917
All levels completed. Game is now in a state where it could be classed as complete.;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ll17lrc 12:299479b6bb59 1 #include "StartMenu.h"
ll17lrc 2:823dea76ff2e 2
ll17lrc 2:823dea76ff2e 3 StartMenu::StartMenu()
ll17lrc 2:823dea76ff2e 4 {
ll17lrc 2:823dea76ff2e 5
ll17lrc 2:823dea76ff2e 6 }
ll17lrc 2:823dea76ff2e 7
ll17lrc 2:823dea76ff2e 8 StartMenu::~StartMenu()
ll17lrc 2:823dea76ff2e 9 {
ll17lrc 2:823dea76ff2e 10
ll17lrc 2:823dea76ff2e 11 }
ll17lrc 2:823dea76ff2e 12
ll17lrc 4:a9d5fca3b7ba 13 void StartMenu::complete(Gamepad &pad,N5110 &lcd)
ll17lrc 2:823dea76ff2e 14 {
ll17lrc 3:4494e6928194 15
ll17lrc 4:a9d5fca3b7ba 16 ImpossEngine imposs;
ll17lrc 4:a9d5fca3b7ba 17
ll17lrc 3:4494e6928194 18 int selector = 1;
ll17lrc 3:4494e6928194 19
ll17lrc 3:4494e6928194 20 int arrow[7][5] = {
ll17lrc 3:4494e6928194 21 {0,0,0,0,0},
ll17lrc 3:4494e6928194 22 {1,1,0,0,0},
ll17lrc 3:4494e6928194 23 {1,1,1,1,0},
ll17lrc 3:4494e6928194 24 {1,1,1,1,1},
ll17lrc 3:4494e6928194 25 {1,1,1,1,0},
ll17lrc 3:4494e6928194 26 {1,1,0,0,0},
ll17lrc 3:4494e6928194 27 {0,0,0,0,0},
ll17lrc 3:4494e6928194 28 };
ll17lrc 3:4494e6928194 29
ll17lrc 2:823dea76ff2e 30 while( pad.A_pressed() == false ){
ll17lrc 2:823dea76ff2e 31
ll17lrc 2:823dea76ff2e 32 lcd.clear();
ll17lrc 12:299479b6bb59 33 lcd.printString(" IMPOSSIBLE ",0,1);
ll17lrc 12:299479b6bb59 34 lcd.printString(" Start Game ",0,3);
ll17lrc 12:299479b6bb59 35 lcd.printString(" How to play ",0,4);
ll17lrc 12:299479b6bb59 36 lcd.drawSprite(5,16 + (selector * 8),7,5,(int *)arrow);
ll17lrc 2:823dea76ff2e 37 lcd.refresh();
ll17lrc 2:823dea76ff2e 38
ll17lrc 2:823dea76ff2e 39 wait(0.15);
ll17lrc 2:823dea76ff2e 40
ll17lrc 2:823dea76ff2e 41 if( pad.get_direction() == S ){
ll17lrc 11:7a4abe731f9c 42 if( selector < 2 ){
ll17lrc 2:823dea76ff2e 43 selector ++;
ll17lrc 2:823dea76ff2e 44 }
ll17lrc 2:823dea76ff2e 45 }
ll17lrc 2:823dea76ff2e 46 if( pad.get_direction() == N ){
ll17lrc 2:823dea76ff2e 47 if( selector > 1 ){
ll17lrc 2:823dea76ff2e 48 selector --;
ll17lrc 2:823dea76ff2e 49 }
ll17lrc 2:823dea76ff2e 50 }
ll17lrc 10:df6a496270be 51 }
ll17lrc 2:823dea76ff2e 52 if( selector == 1 ){
ll17lrc 10:df6a496270be 53 imposs.set_level_one();
ll17lrc 2:823dea76ff2e 54 }
ll17lrc 2:823dea76ff2e 55 if( selector == 2 ){
ll17lrc 11:7a4abe731f9c 56 wait(0.15);
ll17lrc 11:7a4abe731f9c 57 while(pad.A_pressed() == false){
ll17lrc 11:7a4abe731f9c 58 lcd.clear();
ll17lrc 11:7a4abe731f9c 59 lcd.printString("Use the ",0,0);
ll17lrc 11:7a4abe731f9c 60 lcd.printString("joystick to ",0,1);
ll17lrc 11:7a4abe731f9c 61 lcd.printString("move the ball.",0,2);
ll17lrc 11:7a4abe731f9c 62 lcd.drawSprite(70,40,7,5,(int *)arrow);
ll17lrc 11:7a4abe731f9c 63 lcd.refresh();
ll17lrc 11:7a4abe731f9c 64 }
ll17lrc 11:7a4abe731f9c 65 while(pad.A_pressed() == false){
ll17lrc 11:7a4abe731f9c 66 wait(0.15);
ll17lrc 11:7a4abe731f9c 67 lcd.clear();
ll17lrc 11:7a4abe731f9c 68 lcd.printString("Press A to ",0,0);
ll17lrc 11:7a4abe731f9c 69 lcd.printString("double your ",0,1);
ll17lrc 11:7a4abe731f9c 70 lcd.printString("speed! ",0,2);
ll17lrc 11:7a4abe731f9c 71 lcd.drawSprite(70,40,7,5,(int *)arrow);
ll17lrc 11:7a4abe731f9c 72 lcd.refresh();
ll17lrc 11:7a4abe731f9c 73 }
ll17lrc 11:7a4abe731f9c 74 while(pad.A_pressed() == false){
ll17lrc 11:7a4abe731f9c 75 wait(0.15);
ll17lrc 11:7a4abe731f9c 76 lcd.clear();
ll17lrc 11:7a4abe731f9c 77 lcd.printString("Touch a wall ",0,0);
ll17lrc 11:7a4abe731f9c 78 lcd.printString("and you fail! ",0,1);
ll17lrc 12:299479b6bb59 79 lcd.printString("There are 6 ",0,2);
ll17lrc 11:7a4abe731f9c 80 lcd.printString("levels. ",0,3);
ll17lrc 11:7a4abe731f9c 81 lcd.printString("Good luck! ",0,4);
ll17lrc 11:7a4abe731f9c 82 lcd.drawSprite(70,40,7,5,(int *)arrow);
ll17lrc 11:7a4abe731f9c 83 lcd.refresh();
ll17lrc 11:7a4abe731f9c 84 }
ll17lrc 4:a9d5fca3b7ba 85 imposs.set_level_zero();
ll17lrc 2:823dea76ff2e 86 }
ll17lrc 2:823dea76ff2e 87
ll17lrc 4:a9d5fca3b7ba 88 }