JavaScript Carnival
The Big Idea
The JavaScript Carnival is a series of broken carnival games that you'll fix using code. The games are listed in order of difficulty.
⚑ This task can be submitted for assessment You choose either this or Tic-Tac-Toe for NZQA marking. If you choose this one, it needs to be fully complete. Your code will be marked on whether it uses variables, functions, loops, and conditionals correctly, and whether it runs without errors. Let your facilitator know which one you're submitting.
Your Roadmap
You should attempt both Tic-Tac-Toe and JavaScript Carnival. The one you submit for assessment must be fully complete.
| Section | Time | Required? |
|---|---|---|
| Set up | 15 min | ⚑ Required |
| Inflate the Unicorn | 3 hours | ⚑ Required |
| Whack-A-Mole | 5 hours | ⚑ Required |
| Dress the Clown | 5 hours | ⚑ Required |
| How to know you've nailed it | — | ⚑ Required |
| Reflect | 20 min | ⚑ Required |
Set up
Step 1: Find the repo
Go to the javascript-carnival repo in the Dev Academy Foundations GitHub org.
Step 2: Fork and follow the instructions
Fork the repo to your own GitHub account, then follow the instructions in the repo's README to get started.
The games
The carnival has three games, each in its own folder inside the repo. Work through them in order — later games build on the skills practised in earlier ones.
| Game | Time |
|---|---|
| Inflate the Unicorn | 3 hours |
| Whack-A-Mole | 5 hours |
| Dress the Clown | 5 hours |
If you're not submitting this for assessment, do your best — get as far as you can and focus on writing clean, working code rather than rushing through all three partially. Two completed games still shows solid JavaScript skills.
If you are submitting this for assessment, all three games need to be fully complete.
If the task feels easy, use the extra capacity to experiment — refactor a working solution, add a feature, or look at how you might solve the same problem a different way.
If the task feels overwhelming, scale back the scope on one game. Get one small piece working first (e.g. the click event), then build outward.
How to know you've nailed it
| Level | You can... | ||
|---|---|---|---|
| 🪨 | Intro Climb | Complete at least one carnival game so it works as described in the README | ⚑ Required |
| 🧗 | Core Ascent | Complete all three games — code runs without errors and uses variables, functions, loops, and conditionals | ⚑ Required if assessed |
| 🏔️ | Summit | Complete all three games and can explain what each part of your code does | ◎ Optional |