---
id: bd7158d8c442eddfaeb5bd1c
title: Build a Simon Game
challengeType: 3
forumTopicId: 302357
dashedName: build-a-simon-game
---

# --description--

**Objective:** Build an app that is functionally similar to this: <a href="https://codepen.io/freeCodeCamp/full/obYBjE" target="_blank" rel="noopener noreferrer nofollow">https://codepen.io/freeCodeCamp/full/obYBjE</a>.

Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style.

**User Story:** I am presented with a random series of button presses.

**User Story:** Each time I input a series of button presses correctly, I see the same series of button presses but with an additional step.

**User Story:** I hear a sound that corresponds to each button both when the series of button presses plays, and when I personally press a button.

**User Story:** If I press the wrong button, I am notified that I have done so, and that series of button presses starts again to remind me of the pattern so I can try again.

**User Story:** I can see how many steps are in the current series of button presses.

**User Story:** If I want to restart, I can hit a button to do so, and the game will return to a single step.

**User Story:** I can play in strict mode where if I get a button press wrong, it notifies me that I have done so, and the game restarts at a new random series of button presses.

**User Story:** I can win the game by getting a series of 20 steps correct. I am notified of my victory, then the game starts over.

**Hint:** Here are mp3s you can use for each button: `https://s3.amazonaws.com/freecodecamp/simonSound1.mp3`, `https://s3.amazonaws.com/freecodecamp/simonSound2.mp3`, `https://s3.amazonaws.com/freecodecamp/simonSound3.mp3`, `https://s3.amazonaws.com/freecodecamp/simonSound4.mp3`.

When you are finished, include a link to your project on CodePen and click the "I've completed this challenge" button.

You can get feedback on your project by sharing it on the <a href="https://forum.freecodecamp.org/c/project-feedback/409" target="_blank" rel="noopener noreferrer nofollow">freeCodeCamp forum</a>.

# --solutions--

```js
// solution required
```
