Dependencies: mbed
StartMenu/StartMenu.cpp@12:299479b6bb59, 2020-05-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |