As you may have heard, @no-stack-dub-sack and @Weezlo have been hard at work building projects with testable user stories. We are looking for a few volunteers to attempt to build these based on their automated tests.
This is a brand-new project that should be a ton of fun to build: a drum kit! Note that the test suite may not yet work in browsers other than Chrome.
The goal is for campers to be able to build these projects step by step following user stories. This will make the projects less intimidating and more fun. Oh, and don’t worry - we’ll still have plenty of optional projects where we don’t provide you with any tests. And if you’ve previously built these projects, you don’t need to build them again.
If you’re interested in attempting this, please reply to the thread and let us know you’ve started it. The more people who want to build this, the better, as we can start gathering feedback.
Thanks, and happy coding!
Here is the blank pen for campers to fork: http://codepen.io/freeCodeCamp/pen/XpKrrW
Here is the example project with passing tests: http://codepen.io/freeCodeCamp/pen/MJyNMd
- I should be able to see an outer container with a corresponding
id="drum-machine"that contains all other elements.
#drum-machineI can see an element with a corresponding
#drum-machineI can see 9 clickable “drum pad” elements, each with a
"drum-pad", a unique
idthat describes the audio clip the drum pad will be set up to trigger, and an inner text that corresponds to one of the following keys on the keyboard: Q, `W, E, A, S. D, Z, X, C.
- Within each
.drum-pad, there should be an HTML5
<audio>element which has a
srcattribute pointing to an audio clip, a
idcorresponding to the inner text of its parent
- When I click on a
.drum-padelement, the audio clip contained in its child
<audio>element should be triggered.
- When I press the trigger key associated with each
.drum-pad, the audio clip contained in its child
<audio>element should be triggered (e.g. pressing the Q key should trigger the drum pad which contains the string “Q”, pressing the W key should trigger the drum pad which contains the string “W”, etc.).
- When a
.drum-padis triggered, a string describing the associated element is displayed as the inner text of the
.displayelement (each string must be unique).
Feel free to choose your own sounds or pick from ours: