Faizan and Pages fun little game
Dependencies: 4DGL-uLCD-SE mbed SDFileSystem wave_player
Diff: main.cpp
- Revision:
- 15:b18537055368
- Parent:
- 14:e51c9827f788
- Child:
- 16:702313ea97b9
--- a/main.cpp Mon Oct 31 05:34:42 2016 +0000 +++ b/main.cpp Mon Oct 31 18:48:11 2016 +0000 @@ -26,13 +26,14 @@ uLCD_4DGL lcd(p9,p10,p11); SongPlayer speaker(p26); Nav_Switch joystick(p20, p19, p18, p17, p16); // pin order on Sparkfun breakout +DigitalIn speed(p21); +DigitalIn pause(p22); + vector<Food> foods; Food * collided; using namespace std; Stack sandwich(64,&lcd); -//DigitalIn right(p21); -//DigitalIn left(p22); int score, lives; float clk, clk2; Timer t; @@ -43,11 +44,40 @@ void drawLives(); int main() { + speed.mode(PullUp); + pause.mode(PullUp); + + // splash sequence + lcd.filled_rectangle(34, 18, 44, 19, BROWN); + lcd.filled_rectangle(30, 22, 50, 20, BROWN); // top bun + lcd.filled_rectangle(34, 38, 44, 42, YELLOW); // cheese + lcd.filled_rectangle(34, 56, 44, 60, GREEN); // lettuce + lcd.filled_rectangle(34, 74, 44, 78, RED); // tomato + lcd.filled_rectangle(30, 94, 50, 96, BROWN); // bottom bun + lcd.filled_rectangle(34, 98, 44, 97, BROWN); + wait(2); + lcd.text_string("bun", 11, 3, FONT_7X8, WHITE); + wait(1); + lcd.text_string("cheese", 11, 5, FONT_7X8, WHITE); + wait(1); + lcd.text_string("lettuce", 11, 7, FONT_7X8, WHITE); + wait(1); + lcd.text_string("tomato", 11, 9, FONT_7X8, WHITE); + wait(1); + lcd.text_string("bun", 11, 11, FONT_7X8, WHITE); + wait(4); + lcd.cls(); + + lcd.filled_rectangle(34, 38, 44, 42, MAROON); // bad foods + lcd.filled_rectangle(34, 56, 44, 60, DARKBROWN); + lcd.filled_rectangle(34, 74, 44, 78, PURPLE); + wait(2); + lcd.text_string("GROSS!", 11, 7, FONT_7X8, WHITE); + wait(2); + lcd.cls(); score = 0; lives = 3; -// left.mode(PullUp); -// right.mode(PullUp); t.start(); srand(time(NULL)); clk = clk2 = 0; @@ -153,13 +183,13 @@ speaker.PlaySong(notes, times); - if (lives < 3) { + if (lives == 2) { lcd.filled_circle(118, 100, 3, BLACK); // erase the life symbol } - else if (lives < 2) { + else if (lives == 1) { lcd.filled_circle(118, 108, 3, BLACK); } - else if (lives < 1) { + else if (lives == 0) { lcd.filled_circle(118, 116, 3, BLACK); } }