リストって何?
「変数」をすごーく簡単に言うと、「数値」や「文字列」をしまっておく箱です。
ただし、変数には1つの数字あるいは文字列しか入れることができません。
でも、複数の数値や文字列をしまっておきたい場合もありますよね。
そんなときに使うのが「リスト」です。
今回は、リストを活用してパズルゲームを作成します。
完成したゲームの紹介
まず最初に、出来上がったゲームの紹介をします。
スタートからゴールまで、すべてのブロックを使って道をつなげるというパズルゲームです。
このような問題が表示され、カーブの道のブロックをクリックすると、回転することができる(まっすぐの道のブロックは回転できない)という仕様にします。
スプライトをつくる
まず「道」というスプライトを作り、下記の2種類の画像をコスチュームとして登録します。
カーブの画像
直線の画像
これを画面上に25個ならべます。
クローンを並べる
クローンを使って、このような順番で並べます。
「道」スプライトのコードに、以下のように書いていきます。
これを実行すると、このように並びます。
今はまだ、同じコスチュームの画像だけが並んでいます。
クローンごとにコスチュームを指定する
1番目のクローンのコスチュームは「カーブ」、2番目のクローンのコスチュームは「直線」…というように、クローンごとにコスチュームを指定していきます。
まず、「リストをつくる」から、「コスチューム」という名前で新しいリストを作成し、1番目から25番目までのコスチュームをそれぞれ登録します。
クローンに番号をつける
「クローン番号」という変数を作り、クローンが作られるたびに1ずつ加えて、それぞれのクローンに番号を持たせます。
先ほど作ったコードに、赤枠の部分を追加します。
クローン番号「1」のクローンは、「コスチューム」リストの1番目に設定しているコスチュームにし、2番目以降も同様に処理されます。
これを実行すると、このように並びます。
指定したコスチュームで並びました。でもまだ、向きが全て同じ状態です。
クローンの向きを指定する
次に、それぞれのクローンの向きを変えていきます。
クローンの向きも、リストで指定していきます。
「問題リスト」と「正解リスト」を作り、角度(0,90,180,-90 のいずれか)を入力します。
「回答リスト」も作りますが、こちらは空っぽにしておきます。
先ほど作ったコードに、赤枠の部分を追加します。
まず「問題」リストの角度で画面上に表示し、「問題」リストの中身を「回答」リストにそのままコピーします。
「回答」リストの値がすべて「正解」リストと一致すれば、ゲームクリアとなるようにしていきます。
カーブのみ回転できるようにする
「道」スプライトのコードに下記を追加し、カーブのクローンのみ、クリックされたら90度回転するようにします。
そして、「回答」リストを現在の角度に書き換えます。
正解を判定する
先ほど作ったコードに赤枠の部分を追加し、「回答」リストと「正解」リストの値がすべて一致したら、ゲームクリアになるようにします。
「ゲームクリア」というイベントを送ったら、なにか面白いエンディングが見られると、ゲームとして楽しくなりますね。
例えばこのゲームでは、「ゲームクリア」というイベントを送ったら、車が完成した道を走って終了、という仕掛けを入れています。

今回のゲームはScratchのサイトにもアップしていますので、よかったら実際に遊んでみてください。
また、Scratchには「リミックス」という機能があり、アップされているプロジェクトを自分のアカウントにコピーして、自由にどんどんアレンジすることができます。
自由な発想で、どんどんアレンジしてみてください!
コメント