== ジョイスティックを使ったゲーム == 主人公をジョイスティックを使って動かして遊ぶゲームを作ります。 以下の例を参考にして、楽しいものを作りましょう。 ---- === 前回まで === 前回分は [[etoys真偽値型の変数を利用する|真偽値型の変数を利用する]] のページを参照してください。 画面例 . {{attachment:game31.png}} ここまでできていました。 . 主人公をジョイスティックを使って動かす。 . いくつかある障害物のところは通れない。 . ゴールにたどり着いたら終わり。 . アイテムを取ると動作が変わる。 ---- === 今回追加分 === . ゴール(またはアイテム、宝など)を守っている敵を配置する。 . 敵にそれらしい動きをつける。 . 主人公が敵とであったときの処理を記述する。 . ゲームバランスを調整する。 . 他の人に遊んでもらえるように画面を整える。 ---- === 敵を配置し、動きをつける === ゴール(またはアイテム、宝など)を守っているような動きをつけましょう。 動かし方は [[etoys変数を使った動き|変数を使った動き]] のページを参考にしてください。 ---- === 主人公が敵と当たったときの処理 === これまで主人公の動作は(初期化を除いて) 主人公のスクリプトとして記述してきました。 主人公が敵と当たったときの処理は 敵を主体として考えれば、 敵のスクリプトとして記述することもできます。 今回は'''敵のスクリプト内に記述'''してみましょう。 '''利点''' 正しく動作している主人公のスクリプトを 修正しなくてすみます。 主人公に関する命令を敵のスクリプト内に記述することになるので 注意して作成してください。 ==== 例1 ==== . 主人公が敵と当たったとき、主人公を特定の位置に移動します。 敵を主語にして、文を書き直すとこうなります。 . 敵が主人公と当たったとき、主人公を特定の位置に移動します。 スクリプト . この内容が敵のスクリプトのテストタイルに記述されています。 . {{attachment:game42.png}} ==== 例2 ==== . 敵が主人公と当たったとき、主人公を下方向に50移動します。 . {{attachment:game43.png}} ==== 例3 ==== . 主人公が敵と当たったとき「アイテムをなくしてしまう」も面白いと思います。 ---- === ゲームバランスを調整する === ゲームとして楽しめる程度の難しさにしましょう。 つぎのような点を調整するとよい。 . 敵の配置、動き方 . 障害物の配置 . アイテムの位置 . 主人公の初期位置 . 主人公の移動速度 . 主人公が敵と当たったときの処理 また、アイテムがどんなもので どんな効果があるのかを考るとよい。 例えば . 速く動けるようになる薬。 . 敵を眠らせてしまう薬。 . 扉のカギ。 ---- === 他の人に遊んでもらえるように画面を整える === スクリプト関係 . スタートボタンを押すだけで何度でも遊ぶことができるように。 . ゴールについたら、クリアできたことを示す。 画面関係 . 障害物など動かないものは、動かせないようにする。 . スクリプトやビューアなどはたたんでおく。