1151
コメント:
|
2863
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 3: | 行 3: |
ゲーム作りを通してプログラム作成の手順を学びます。 | ゲーム作りを通してプログラム作成の考え方を学びます。(オブジェクト指向) |
行 13: | 行 13: |
状態図に書くとこのようになります。 | 順に箇条書きにするとこのようになります。(シナリオ) 1. クレーンが右に動く 1. Bボタンを押す 1. クレーンが下に動く 1. 下端についた 1. クレーンが上に動く 1. 上端についた 1. クレーンが右に動く 1. 右端についた 1. 停止 図に書くとこのようになります。(状態図) |
行 16: | 行 27: |
一度に1つのスクリプトがチクタクで動作するように考えます。 | 一度に1つのスクリプトがチクタクで動作するように考えると分かりやすい。 |
行 18: | 行 29: |
青の点線で囲んだ範囲が1つのスクリプトになります。 | |
行 20: | 行 30: |
青の点線で囲んだ範囲を1つのスクリプトとして作成します。 「右に動く」が2箇所ありますが、 それぞれ別の状態と考え、別のスクリプトにするほうが考えやすい。 スクリプト1はこのように書けます。 クレーンの絵の向きを変えずに動かす方法は2つあります。 . 座標を設定する方法で書いた場合 . {{attachment:crane07.png}} . 進行方向を設定する方法を用いる場合 . {{attachment:crane08.png}} Bボタンが押されたときは、スクリプト1を停止し、スクリプト2をスタートすればよい。 . {{attachment:crane10.png}} スクリプト2は下方向の移動で、下端についたときの処理を テストタイルを使って書きます。 . {{attachment:crane09.png}} スクリプト3、スクリプト4も同様に書けます。 |
|
行 21: | 行 48: |
=== 動作全体 === Aボタンが押されたときの処理を加えれば、とりあえず完成。 |
=== 全体の動作 === Aボタンが押されたときの処理を加えれば、とりあえず動作する。 |
行 24: | 行 51: |
Aボタンが押されたときに必要な処理 . クレーンを初期位置に移動する . スクリプト1をスタートする |
|
行 26: | 行 56: |
上の状態図で考えられていないときの処理。 | 上の状態図で考えられていない動作。(別のシナリオ) 次の場合の処理が記述されていません。 * スクリプト1が動作しているときにBボタンが押されなかった。 * 停止状態でないときにAボタンが押された。 * スクリプト2,3,4が動いているときにBボタンが押された。 |
行 32: | 行 67: |
. {{attachment:crane11.png}} |
クレーンゲーム
ゲーム作りを通してプログラム作成の考え方を学びます。(オブジェクト指向)
ゲーム内容
Aボタンを押すとクレーンが動き始め、Bボタンを押すとクレーンが下がり、うまくぬいぐるみをつかんだら運ぶことができます。
クレーンの動きを考える
うまく操作したときのクレーンの動きを考えます。
順に箇条書きにするとこのようになります。(シナリオ)
- クレーンが右に動く
- Bボタンを押す
- クレーンが下に動く
- 下端についた
- クレーンが上に動く
- 上端についた
- クレーンが右に動く
- 右端についた
- 停止
図に書くとこのようになります。(状態図)
個々の状態に対応するスクリプトに分け、 一度に1つのスクリプトがチクタクで動作するように考えると分かりやすい。
青の点線で囲んだ範囲を1つのスクリプトとして作成します。
「右に動く」が2箇所ありますが、 それぞれ別の状態と考え、別のスクリプトにするほうが考えやすい。
スクリプト1はこのように書けます。 クレーンの絵の向きを変えずに動かす方法は2つあります。
Bボタンが押されたときは、スクリプト1を停止し、スクリプト2をスタートすればよい。
スクリプト2は下方向の移動で、下端についたときの処理を テストタイルを使って書きます。
スクリプト3、スクリプト4も同様に書けます。
全体の動作
Aボタンが押されたときの処理を加えれば、とりあえず動作する。
Aボタンが押されたときに必要な処理
- クレーンを初期位置に移動する
- スクリプト1をスタートする
動作詳細
上の状態図で考えられていない動作。(別のシナリオ)
次の場合の処理が記述されていません。