You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
## Keycodes symphony
|
|
|
|
|
|
|
|
### Instructions
|
|
|
|
|
|
|
|
Like an inspired Beethoven who's going to write his Moonlight Sonata, you're about to compose a colourful symphony of letters with your keyboard.
|
|
|
|
|
|
|
|
Write the function `compose`:
|
|
|
|
|
|
|
|
- Make it fire every time a key is pressed
|
|
|
|
- Create a new `note`, which has a background color generated using its `key`, and displays the corresponding letter pressed
|
|
|
|
- If the pressed key is the `Delete` one, delete the last note
|
|
|
|
- If the pressed key is the `Escape` one, clear all the notes
|
|
|
|
|
|
|
|
### Notions
|
|
|
|
|
|
|
|
- [Keyboard event](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent): [`keydown`](https://developer.mozilla.org/en-US/docs/Web/API/Document/keydown_event), [`key`](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key)
|
|
|
|
|
|
|
|
### Provided files
|
|
|
|
|
|
|
|
- Use the HTML file [index.html](/public/subjects/keycodes-symphony/index.html), which includes:
|
|
|
|
|
|
|
|
- the JS script which will allow to run your code
|
|
|
|
- some CSS pre-styled classes: feel free to use those as they are, or modify them
|
|
|
|
|
|
|
|
### Expected result
|
|
|
|
|
|
|
|
You can see an example of the expected result [here](https://youtu.be/5DdijwBnpAk)
|