42 lines
2.1 KiB
Markdown
42 lines
2.1 KiB
Markdown
---
|
|
id: bd7158d8c442eddfaeb5bd1c
|
|
title: Build a Simon Game
|
|
challengeType: 3
|
|
forumTopicId: 302357
|
|
dashedName: build-a-simon-game
|
|
---
|
|
|
|
# --description--
|
|
|
|
**Objective:** Build a [CodePen.io](https://codepen.io) app that is functionally similar to this: [https://codepen.io/freeCodeCamp/full/obYBjE](https://codepen.io/Em-Ant/full/QbRyqq/).
|
|
|
|
Fulfill the below [user stories](https://en.wikipedia.org/wiki/User_story). 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 [freeCodeCamp forum](https://forum.freecodecamp.org/c/project-feedback/409).
|
|
|
|
# --solutions--
|
|
|
|
```js
|
|
// solution required
|
|
```
|