クレーンゲーム

クレーンゲーム

ゲーム作りを通してプログラム作成の考え方を学びます。

ゲーム内容

画面例


オブジェクト指向

それぞれのもの(オブジェクト)の状態や動作を考えることで プログラムの構成を決定します。

このプロジェクトでは

  1. クレーンの動き
  2. Aボタンを押したときの動作
  3. Bボタンを押したときの動作
  4. ぬいぐるみの動き

に分け、この順にスクリプトを作成していきます。


クレーンの動きを考える

クレーンの動きは上下左右の4つです。

開始時には左上にあり、 動き始めてから止まるまでなにも操作をしなかったら つぎのような動きになります。

箇条書きにするとこのようになります。(シナリオ)

  1. クレーンが右に動く
  2. 右端についた
  3. クレーンが下に動く
  4. 下端についた
  5. クレーンが上に動く
  6. 上端についた
  7. クレーンが左に動く
  8. 左端についた
  9. 停止

図に書くとこのようになります。(状態図)

個々の状態に対応するスクリプトに分け、 一度に1つのスクリプトがチクタクで動作するように考えると分かりやすい。

青の点線で囲んだ範囲を1つのスクリプトとして作成します。

スクリプト1

クレーンの絵の向きを変えずに動かす方法はいくつかありますが、 座標を増減する方法で書くことにします。

チクタクごとに右に5動かすにはつぎのように書きます。 動きの速さは調整してください。

書き方1

書き方2

右端についたときの処理を テストタイルを使って書き加えます。

判定に用いるの数値(座標)はクレーンの形や画面全体のデザインによって調整が必要です。

スクリプト2、3、4

同様に書けます。

クレーンが下がるときに開くようにすると おもしろいでしょう。


Aボタンが押されたとき

Aボタンが押されたときはクレーンが右に動き始め、 Bボタンが押されたときはクレーンが下に動くようにしたい。

状態図を見ながら考えます。

Aボタンが押されたとき、

すれば右に動き始めますが、 これではうまく動作しない場合があります。

クレーンが左上で停止しているときはこれだけでよいのですが、 次のような可能性もあるからです。

こんな場合にAボタンが押されたときも、同様に動作させるには

を行ってから

すればよい。

クレーンが左上で止まっているときしかAボタンが押せない ようにすることも可能ですが、 その場合は初期化のためのボタンがもう1つ必要です。


Bボタンが押されたとき

Bボタンが押されたときは、スクリプト1を停止し、スクリプト2をスタートすればよい。

応用問題

クレーンが右に移動中でないときにBボタンが押されたときには、 反応しないようにしてください。

ヒント


クレーンの動作

クレーンの状態図はこのように書ける。

他に動作がおかしな点があるかもしれません。

使うとよい。


ぬいぐるみの動作

ぬいぐるみの状態は次の3つが考えられます。

状態図にするとこのようになります。

状態の数が少なく、状態の変わり方も単純なので、 1つのスクリプトで書けそうです。

このように場合分けできます。

テストタイル2つを組み合わせて記述できます。

クレーンと一緒に動く

クレーンでつかまれているかどうかの判定はタートルへの距離を用いて行えます。

クレーンから落ちるとき

3つの状態をまとめると

となり、次のように記述できます。


完成まで

Aボタンが押されたときのスクリプトに

追加します。

クレーンが元の位置までもどったとき、 つかんでいたぬいぐるみが落ちるようにする方法を考えてください。

本物のように動作させるには細かな調整が必要かもしれません。

いろいろ工夫して楽しい作品にしましょう。 例えば

など

クレーンゲーム (最終更新日時 2012-06-14 12:49:54 更新者 masahiko)