freeCodeCamp/curriculum/challenges/russian/03-front-end-libraries/front-end-libraries-projects/build-a-drum-machine.russia...

39 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
id: 587d7dbc367417b2b2512bae
title: Build a Drum Machine
isRequired: true
challengeType: 3
videoUrl: ''
localeTitle: Построение барабанной машины
---
## Description
<section id="description"> <strong>Цель.</strong> Создайте приложение <a href="https://codepen.io" target="_blank">CodePen.io</a> , функционально похожее на это: <a href="https://codepen.io/freeCodeCamp/full/MJyNMd" target="_blank">https://codepen.io/freeCodeCamp/full/MJyNMd</a> . Выполните приведенные здесь <a href="https://en.wikipedia.org/wiki/User_story" target="_blank">истории пользователей</a> и получите все тесты для прохождения. Дайте ему свой личный стиль. Вы можете использовать любое сочетание HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux и jQuery для завершения этого проекта. Вы должны использовать фреймворк frontend (например, React), потому что этот раздел посвящен изучению интерфейсных фреймворков. Дополнительные технологии, не перечисленные выше, не рекомендуются, и использование их на свой страх и риск. Мы смотрим на поддержку других интерфейсных фреймворков, таких как Angular и Vue, но в настоящее время они не поддерживаются. Мы примем и попытаемся исправить все отчеты о проблемах, которые используют предлагаемый стек технологий для этого проекта. Счастливое кодирование! <strong>User Story # 1:</strong> Я должен видеть внешний контейнер с соответствующим <code>id=&quot;drum-machine&quot;</code> который содержит все остальные элементы. <strong>User Story # 2:</strong> Внутри <code>#drum-machine</code> я вижу элемент с соответствующим <code>id=&quot;display&quot;</code> . <strong>User Story # 3:</strong> В <code>#drum-machine</code> я могу увидеть 9 кликабельных элементов ударной площадки, каждая из которых имеет имя класса <code>drum-pad</code> , уникальный идентификатор, который описывает аудиоклип, который будет настроен на ударную площадку для запуска, и внутренний текст, который соответствует одной из следующих клавиш на клавиатуре: Q, W, E, A, S, D, Z, X, C. Барабанные площадки должны быть в этом порядке. <strong>User Story # 4:</strong> внутри каждого <code>.drum-pad</code> должен быть <code>audio</code> элемент HTML5, который имеет атрибут <code>src</code> указывающий на аудиоклип, имя класса <code>clip</code> и идентификатор, соответствующий внутреннему тексту его родительского <code>.drum-pad</code> (например, <code>id=&quot;Q&quot;</code> , <code>id=&quot;W&quot;</code> , <code>id=&quot;E&quot;</code> и т. д.). <strong>User Story # 5:</strong> Когда я нажимаю элемент <code>.drum-pad</code> , должен запускаться аудиоклип, содержащийся в его дочернем <code>audio</code> элементе. <strong>User Story # 6:</strong> Когда я <code>.drum-pad</code> клавишу триггера, связанную с каждым <code>.drum-pad</code> , должен запускаться аудиоклип, содержащийся в его дочернем <code>audio</code> элементе (например, нажатие клавиши Q должно запускать ударную панель, содержащую строку «Q», нажатие клавиши W должно запускать ударную панель, содержащую строку «W» и т. д.). <strong>User Story # 7:</strong> Когда <code>.drum-pad</code> , строка, описывающая связанный аудиоклип, отображается как внутренний текст элемента <code>#display</code> (каждая строка должна быть уникальной). Вы можете создать свой проект, <a href="http://codepen.io/freeCodeCamp/pen/MJjpwO" target="_blank">нажимая эту ручку CodePen</a> . Или вы можете использовать эту ссылку CDN для запуска тестов в любой среде: <code>https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js</code> Как только вы закончите, отправьте URL-адрес своей рабочей проект с прохождением всех его тестов. Не забудьте использовать метод <a href="https://forum.freecodecamp.org/t/how-to-get-help-when-you-are-stuck/19514" target="_blank">Read-Search-Ask,</a> если вы застряли. </section>
## Instructions
<section id="instructions">
</section>
## Tests
<section id='tests'>
```yml
tests: []
```
</section>
## Challenge Seed
<section id='challengeSeed'>
</section>
## Solution
<section id='solution'>
```js
// solution required
```
</section>