welcome: please sign in

ページのコンテンツをアップロード

下記のページ名のコンテンツをアップロードすることができます。 もしページ名を変更すれば、別のページのコンテンツをアップロードすることもできます。 ページ名が空の場合、ファイル名からページ名を決定します。

ページコンテンツを格納したファイル
ページ名
コメント

2012-06-07 01:47:08時点のリビジョン34

location: クレーンゲーム

クレーンゲーム

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

ゲーム内容

画面例


オブジェクト指向

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

このプロジェクトでは

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

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


クレーンの動きを考える

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

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

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

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

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

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

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

スクリプト1はこのように書けます。 クレーンの絵の向きを変えずに動かす方法は2つあります。

スクリプト2は下方向の移動で、下端についたときの処理を テストタイルを使って書きます。

スクリプト3、スクリプト4も同様に書けます。

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

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


全体の動作

通常、Aボタンが押されるのは停止状態のときである。

クレーンが動き始める前に、 初期位置に移動するなどの処理が必要なら スクリプト1をスタートするまえに行う。

したがって状態図はこのようになる。


動作詳細

上の状態図で考えられていない場面を考える。(別のシナリオ)

例えば、次の場合の処理が記述されていません。

スクリプト1が動作しているときにBボタンが押されないままだと、 クレーンが右端を通り過ぎて画面から消えてしまいます。

停止状態でないときにAボタンが押された場合、 次の処理を行えば最初から行われるようにできる。

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

使うとよい。


ぬいぐるみの動作

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

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

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

クレーンでつかまれているときを考えます。

クレーンから落ちるときを考えます。

3つの状態をまとめると

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


完成まで

ぬいぐるみを適当な場所に配置し、 ぬいぐるみのスクリプトをチクタクにする処理を Aボタンが押されたときのスクリプトに追加します。

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

いろいろ考えて試みてください。


補足

次のようなことを行いたいと思っていることでしょう。

ある機能を使うと簡単にできます。 近々解説します。