Ahmed Adamjee
/
SnakeVSBlock
Snake vs Block Game to be run upon K64F.
Diff: StartScreen/StartScreen.cpp
- Revision:
- 4:1fe015b66bb8
- Parent:
- 3:fbb1fa853f09
- Child:
- 5:e4df87957a5b
diff -r fbb1fa853f09 -r 1fe015b66bb8 StartScreen/StartScreen.cpp --- a/StartScreen/StartScreen.cpp Sun Mar 17 09:54:49 2019 +0000 +++ b/StartScreen/StartScreen.cpp Sun Mar 17 13:47:40 2019 +0000 @@ -50,9 +50,9 @@ {0,0,1,1,1,0,0,0,1,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,1,1,1,1,0,0,1,0,0,0,0,1,1,1,1,0,1,1,0,0,1,1,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, - }; +}; - int arrow[7][9] = { +int arrow[7][9] = { {0,0,0,0,1,0,0,0,0}, {0,0,0,1,1,0,0,0,0}, {0,0,1,1,1,0,0,0,0}, @@ -60,8 +60,57 @@ {0,0,1,1,1,0,0,0,0}, {0,0,0,1,1,0,0,0,0}, {0,0,0,0,1,0,0,0,0}, - }; +}; + +int bullet[13][5] = { + {1,0,0,0,1}, + {1,0,0,0,1}, + {0,1,0,1,0}, + {0,0,1,0,0}, + {0,0,0,0,0}, + {0,0,1,0,0}, + {0,0,1,0,0}, + {0,0,0,0,0}, + {0,0,0,0,0}, + {0,0,0,0,0}, + {0,0,0,0,0}, + {0,0,1,0,0}, + {0,0,1,0,0}, +}; +int navL[13][8] = { + {0,0,0,0,0,0,1,1}, + {0,0,0,0,0,1,1,0}, + {0,0,0,0,1,1,0,0}, + {0,0,0,1,1,0,0,0}, + {0,0,1,1,0,0,0,0}, + {0,1,1,0,0,0,0,0}, + {1,1,0,0,0,0,0,0}, + {0,1,1,0,0,0,0,0}, + {0,0,1,1,0,0,0,0}, + {0,0,0,1,1,0,0,0}, + {0,0,0,0,1,1,0,0}, + {0,0,0,0,0,1,1,0}, + {0,0,0,0,0,0,1,1}, +}; +int navR[13][8] = { + {1,1,0,0,0,0,0,0}, + {0,1,1,0,0,0,0,0}, + {0,0,1,1,0,0,0,0}, + {0,0,0,1,1,0,0,0}, + {0,0,0,0,1,1,0,0}, + {0,0,0,0,0,1,1,0}, + {0,0,0,0,0,0,1,1}, + {0,0,0,0,0,1,1,0}, + {0,0,0,0,1,1,0,0}, + {0,0,0,1,1,0,0,0}, + {0,0,1,1,0,0,0,0}, + {0,1,1,0,0,0,0,0}, + {1,1,0,0,0,0,0,0}, +}; +int i=16; +int lr=1; +int gs=1; StartScreen::StartScreen() { @@ -108,15 +157,14 @@ lcd.printString("Adamjee",20,4); lcd.printString("201161436",15,5); lcd.refresh(); - wait(3); + wait(2); lcd.clear(); } void StartScreen::menu_screen1(N5110 &lcd, Gamepad &pad) { - int i=16; lcd.drawSprite(50,i,7,9,(int *)arrow); - while (1) { //Change this to if button pressed. + while ((pad.check_event(Gamepad::JOY_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) { //Change this to if button pressed. lcd.printString("SnakeVSBlock",5,0); lcd.printString("Play",0,2); lcd.printString("Settings",0,3); @@ -131,7 +179,132 @@ } lcd.drawSprite(50,i,7,9,(int *)arrow); //Function used to draw the sprite. lcd.refresh(); - wait(0.2); + wait(0.25); lcd.clear(); } + + if(i == 16) + { + menu_screen2(lcd, pad); + } + else + { + menu_screen1(lcd, pad); + lr=1; + } } +void StartScreen::menu_screen2(N5110 &lcd, Gamepad &pad) +{ + lcd.clear(); + wait(0.2); + + while ((pad.check_event(Gamepad::JOY_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) { //Change this to if button pressed. + + Direction d = pad.get_direction(); + wait(0.25); + + if(((d==E)||(d==W))&&(lr==1)) { + lr=2; + } + + else if(((d==E)||(d==W))&&(lr==2)) { + lr=1; + } + + if(lr==1) { + lcd.clear(); + lcd.drawRect(27,18,30,20,FILL_TRANSPARENT); + lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite. + lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite. + lcd.printString("Free Wave",14,1); + lcd.refresh(); + } + if(lr==2) { + lcd.clear(); + lcd.drawRect(27,18,30,20,FILL_TRANSPARENT); + lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite. + lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite. + lcd.printString("Bullet Shower",4,1); + lcd.drawSprite(29,19,13,5,(int *)bullet); //Function used to draw the sprite. + lcd.refresh(); + } + if (pad.check_event(Gamepad::BACK_PRESSED) == true) { + lcd.clear(); + menu_screen1(lcd, pad); + } + } + + lcd.clear(); + wait(0.25); + menu_screen3(lcd, pad); +} +void StartScreen::menu_screen3(N5110 &lcd, Gamepad &pad) +{ + lcd.clear(); + wait(0.2); + + while ((pad.check_event(Gamepad::JOY_PRESSED) == false)&&(pad.check_event(Gamepad::START_PRESSED) == false)) { //Change this to if button pressed. + + Direction d = pad.get_direction(); + wait(0.25); + + if((d==E)&&(gs==4)) { + gs=1; + } + + else if((d==W)&&(gs==1)) { + gs=4; + } + + else if((d==E)&&(1<=gs<=3)) { + gs=gs+1; + } + + else if((d==W)&&(2<=gs<=4)) { + gs=gs-1; + } + + if(gs==1) { + lcd.clear(); + lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite. + lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite. + lcd.printString("Game Speed",10,1); + lcd.printString("SNAIL",26,3); + lcd.refresh(); + } + if(gs==2) { + lcd.clear(); + lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite. + lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite. + lcd.printString("Game Speed",10,1); + lcd.printString("TURTLE",24,3); + lcd.refresh(); + } + if(gs==3) { + lcd.clear(); + lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite. + lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite. + lcd.printString("Game Speed",10,1); + lcd.printString("RABBIT",24,3); + lcd.refresh(); + } + if(gs==4) { + lcd.clear(); + lcd.drawSprite(10,22,13,8,(int *)navL); //Function used to draw the sprite. + lcd.drawSprite(65,22,13,8,(int *)navR); //Function used to draw the sprite. + lcd.printString("Game Speed",10,1); + lcd.printString("CHEETHA",21,3); + lcd.refresh(); + } + + if (pad.check_event(Gamepad::BACK_PRESSED) == true) { + lcd.clear(); + wait(0.25); + menu_screen2(lcd, pad); + } + } + + lcd.clear(); + wait(0.25); + menu_screen3(lcd, pad); +} \ No newline at end of file