Time needed: 60-90 minutes
Congratulations, coder! You've reached the FINAL PROJECT of Foundation 2! :tada: This is where you'll use ALL the skills you've learned to create an epic zombie shooting game. Get ready to show off everything you know!
You're going to create an action-packed Zombie Shooter game where:
- :emoji: Zombies appear randomly on the screen
- :emoji: You control a shooter that moves left and right
- :emoji: Tap the shooter to fire and hit zombies
- ⏱️ Race against time to get the highest score
- :trophy: See your final score on a results screen
This game combines EVERYTHING you've learned: multiple screens, sprites, timers, sounds, scoring, and more!
By the end of this final project, you'll have:
Watch this video to see how your finished game will work:

Click to watch the Zombie Shooter App demonstration
Remember these awesome skills you've mastered? You'll use them ALL:
- From Project One: Working with buttons and screens
- From Project 2: Using timers and clocks
- From Project 3: Creating animations with sprites
- From Project 4: Adding sounds and multiple screens
Your zombie shooter game will have 3 screens. Let's explore what each screen does and what components you'll need:
This is your game's starting point - make it exciting!

Components you'll need:
- Layouts:
- Vertical arrangement (to organize everything neatly)
- Visible components:
- Label (for your game title)
- Image (cool zombie or game logo!)
- Button (to start the adventure)
- Non-visible components:
This is where the action happens! All your game magic goes here.

Components you'll need:
- Layouts:
- Horizontal arrangement (for score and timer display)
- Visible components:
- Canvas (your game battlefield!)
- ImageSprite (for the zombie and shooter)
- Ball (your bullet)
- Labels (to show score and time)
- Non-visible components:
- Clock (controls the countdown timer)
- Sound (for awesome sound effects!)
Time to celebrate! Show off that amazing score!

Components you'll need:
- Layouts:
- Vertical arrangement (main layout)
- Table arrangement (for score display)
- Visible components:
- Labels (to show "Game Over" and score)
- Image (victory or game over image)
- Button (to play again)
- Non-visible components:
- Sound (celebration or game over sound)
Now comes the exciting part - bringing your game to life with code! You'll program all 3 screens to work together perfectly.
This is simple but important - it starts your whole game!
What to program:
- When the user clicks the Play button -> Go to Screen2
:bulb: Quick tip: Remember how we switched screens in previous projects? Use the same block here!
This screen has ALL the game action. Let's break it down into manageable parts:
First, create variables to track important game data:
- Set the initial Score to 0
- Set the Timer to 20 (20 seconds to play!)
When Screen 2 starts, set everything up:
- Position your Shooter at the bottom center of the canvas
- Hide the Explosion sprite (make it invisible)
- Hide the Ball (your bullet - invisible until fired)
- Enable the timer to start counting
When the user touches the canvas:
- Move the Shooter to that X-position
- :bulb: Pro tip: Divide the Shooter's width by 2 to center it perfectly!
When user taps the Shooter sprite:
- Launch the Ball (bullet):
- Start from the Shooter's X-position
- Start from the Shooter's Y-position
- Play the "gun" sound effect
- Make the Ball visible
- Set the Ball's heading (direction) and speed
Program the Clock component to run every 1 second:
This makes your game exciting by:
- Moving the Zombie to a random X-position on canvas
- Hiding any Explosion from the last hit
- Showing the Zombie in its new position
- Updating the timer display
:bulb: Remember: You did this in your Timer App project!
When time runs out (timer = 0):
- Disable the timer
- Open Screen 3 with the final score
- :dart: Hint: Use "open another screen with start value" to pass the score!
When the Ball hits the Zombie:
- Play the "explosion" sound (BOOM!)
- Move the Explosion sprite to the Zombie's position
- Show the Explosion animation
- Hide both the Zombie and Ball
- Add 1 to the score (You got one!)
- Reset for the next zombie
When the Ball reaches the edge of the screen:
- Simply make the Ball invisible
- This prevents bullets from bouncing back!
Almost done! This screen shows your amazing score and lets you play again.
What to program:
-
When Screen 3 opens:
- Display the final score (received from Screen 2)
- Play a game ending sound (victory fanfare or game over tune!)
-
Program the Play Again button:
- Open Screen 1 to start a new game
Important Testing Steps:
-
Play your game at least 2 times to make sure:
- The score resets properly for each new game
- All sounds play correctly
- The timer counts down from 20
- Zombies appear randomly
-
Debug Checklist:
Now that your game works, add your personal touch:
-
Change the Graphics:
- Use different sprites (aliens, asteroids, balloons?)
- Create your own background
- Design a custom game logo
-
Adjust the Difficulty:
- Make zombies appear faster
- Change the game timer (10 seconds for expert mode?)
- Add different point values for different targets
-
Add Extra Features:
- Power-ups that give extra time
- Different types of enemies
- Background music
- High score tracking
- Test with Friends: Let them play and give feedback
- Record a Demo: Show off your best gameplay
- Share Screenshots: Capture your highest score!
Think about your journey:
- What was the hardest part to program?
- Which Foundation 2 skill helped you the most?
- What feature are you most proud of?
- What would you add if you had more time?
You did it! You've completed the FINAL PROJECT of Foundation 2!
Look at what you've accomplished:
- :white_check_mark: Built a complete 3-screen game
- :white_check_mark: Used sprites, timers, and collision detection
- :white_check_mark: Created an interactive, fun experience
- :white_check_mark: Applied ALL your Foundation 2 skills
You're now ready for even bigger coding adventures! Your journey as a mobile app developer has truly begun. Keep creating, keep learning, and most importantly - keep having fun with code!
:rocket: What's Next? Get ready for Foundation 3, where you'll learn even MORE amazing skills!
Remember: Every professional game developer started exactly where you are now. You're on your way to creating incredible things!