freeCodeCamp/curriculum/challenges/japanese/03-front-end-development-li.../front-end-development-libra.../build-a-drum-machine.md

40 lines
4.1 KiB
Markdown
Raw Normal View History

---
id: 587d7dbc367417b2b2512bae
title: ドラムマシンを作成する
challengeType: 3
forumTopicId: 301370
dashedName: build-a-drum-machine
---
# --description--
**目標:** <https://codepen.io/freeCodeCamp/full/MJyNMd> と同様の機能を持つ [CodePen.io](https://codepen.io) アプリを作成します。
以下の[ユーザーストーリー](https://en.wikipedia.org/wiki/User_story)を達成して、すべてのテストに合格してください。 アプリにはあなた独自のスタイルを設定してください。
このプロジェクトを完了するために、HTML、JavaScript、CSS、Bootstrap、SASS、React、Redux、および jQuery を自在に組み合わせて利用することができます。 このセクションはフロントエンドフレームワークの学習を目的としていますので、React などのフロントエンドフレームワークを使用してください。 上記以外の他のテクノロジーは推奨されません。使用する場合は自己責任で行ってください。 Angular や Vue などの他のフロントエンドフレームワークのサポートを検討していますが、現時点ではサポートされていません。 このプロジェクトで推奨している一連のテクノロジーを使用して生じた問題についてはすべて、報告を受け入れ、修正するよう努めます。 コーディングの成功を祈ります!
**ユーザーストーリー 1:** 対応する `id="drum-machine"` を持ち、他のすべての要素を収める、外側のコンテナを表示できます。
**ユーザーストーリー 2:** `#drum-machine` の中に、対応する `id="display"` を持つ要素を表示できます。
**ユーザーストーリー 3:** `#drum-machine` の中に、9 つのクリック可能なドラムパッド要素を表示できます。要素はそれぞれ、クラス名 `drum-pad` と、ドラムパットのトリガー用に準備されるオーディオクリップを示す一意の ID、および、キーボードの `Q`、`W`、`E`、`A`、`S`、`D`、`Z`、`X`、`C` のいずれかのキーに対応する内側のテキストを持ちます。 ドラムパッドはこの順序にする必要があります。
**ユーザーストーリー 4:** それぞれの `.drum-pad` の中に、HTML5 の `audio` 要素を配置します。この要素は、オーディオクリップを指し示す `src` 属性、クラス名 `clip`、および、自身の親である `.drum-pad` の内側のテキストに対応する ID を持ちます (`id="Q"`、`id="W"`、`id="E"` など)。
**ユーザーストーリー 5:** `.drum-pad` 要素をクリックすると、その子の `audio` 要素に含まれているオーディオクリップがトリガーされます。
**ユーザーストーリー 6:** それぞれの `.drum-pad` に関連付けられているトリガーキーを押すと、その子の `audio` 要素に含まれているオーディオクリップがトリガーされます。たとえば、`Q` キーを押すと文字列 `Q` を含むドラムパッドがトリガーされ、`W` キーを押すと文字列 `W` を含むドラムパッドがトリガーされる、などとなります。
**ユーザーストーリー 7:** `.drum-pad` がトリガーされると、関連するオーディオクリップを説明する文字列が、`#display` 要素の内側のテキストとして表示されます (文字列はそれぞれ一意にする必要があります)。
独自のペンを作成するために、<a href='https://codepen.io/pen?template=MJjpwO' target='_blank' rel='nofollow'>こちらの CodePen テンプレート</a>を使用し、`Save` をクリックして独自のプロジェクトを構築することができます。 または、下記の CDN リンクを使用して、使い慣れている環境でテストを実行することもできます: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js`
完了したら、すべてのテストに合格した作業中のプロジェクトの URL を送信してください。
# --solutions--
```js
// solution required
```