Dependencies: mbed
Diff: StartMenu/StartMenu.cpp
- Revision:
- 10:df6a496270be
- Parent:
- 7:35465b3bf586
- Child:
- 11:7a4abe731f9c
--- a/StartMenu/StartMenu.cpp Mon May 18 16:49:20 2020 +0000 +++ b/StartMenu/StartMenu.cpp Thu May 21 12:51:46 2020 +0000 @@ -1,4 +1,4 @@ - #include "StartMenu.h" + #include "StartMenu.h" StartMenu::StartMenu() { @@ -48,16 +48,72 @@ selector --; } } - +} if( selector == 1 ){ - imposs.set_level_zero(); + imposs.set_level_one(); } if( selector == 2 ){ - imposs.set_level_zero(); + level(pad,lcd); } if( selector == 3 ){ imposs.set_level_zero(); } } + + +void StartMenu::level(Gamepad &pad,N5110 &lcd) +{ + + ImpossEngine imposs; + + int selector = 1; + + int arrow[7][5] = { + {0,0,0,0,0}, + {1,1,0,0,0}, + {1,1,1,1,0}, + {1,1,1,1,1}, + {1,1,1,1,0}, + {1,1,0,0,0}, + {0,0,0,0,0}, + }; + + while( pad.A_pressed() == false ){ + + lcd.clear(); + lcd.printString(" Level 1 ",0,1); + lcd.printString(" Level 2 ",0,2); + lcd.printString(" Level 3 ",0,3); + lcd.printString(" Level 4 ",0,4); + lcd.drawSprite(5,selector * 8,7,5,(int *)arrow); + lcd.refresh(); + + wait(0.15); + + if( pad.get_direction() == S ){ + if( selector < 4 ){ + selector ++; + } + } + if( pad.get_direction() == N ){ + if( selector > 1 ){ + selector --; + } + } + + if( selector == 1 ){ + imposs.set_level_one(); + } + if( selector == 2 ){ + imposs.set_level_two(); + } + if( selector == 3 ){ + imposs.set_level_three(); + } + if( selector == 4 ){ + imposs.set_level_four(); + } + + } } \ No newline at end of file