完成品の確認
準備をしよう
下のURLをクリックして、アーケードを開いてください。
https://arcade.makecode.com/S57509-05983-17599-91640
出てきた画面の上にある「Edit Code」ボタンを押して、プロジェクトを開いてください。
プログラミングする
初めの設定
サメ
プレイヤーとして「サメ」を出して、以下の設定をします。
- スプライトの設定
以下のようにブロックを入れて下さい。
「カメラでスプライトを追う」ブロックを使うと、そのスプライトに合わせて、切れたエリアにも進むことができるようになります。
タイルマップ
今回は、4つのタイルマップを作り、それらがゲームごとにランダムに設定されるようにします。
まずは、「障害物リスト」という名前の配列を作り、4つの要素が入るようにします。
次に4種類のタイルマップを作成して、この配列に入れましょう。
タイルマップの大きさは、「20×8」にします。これで右に長いステージができます。以下のように作ってください。
次にタイルマップを設定します。配列内の4つのタイルマップがランダムに選ばれるようにするため、ランダムブロックを使います。以下のように作ってください。
ランダムの数字を「0~3」にしているのは、配列内の4つの要素の番号も「0~3」だからです。このゲームの肝は、これで完成です。
テロップを出す
「上下位置を決めてね」、「Aボタンでスタート」というテロップを出して、ゲームをスタートします。以下のプログラムを作ってください。
プログラム確認
「▶」を押して、動きを確認してください。以下が確認できればOKです。
- 「上下位置を決めてね」、「Aボタンでスタート」というテロップが最初に出る
- サメが画面真ん中から出てくる
初めの設定は、これで完成です。
サメを発射できるようにする
Aボタン(スペースキー)を押したら、右に進んでいくようにします。
カメラで追って右に切れているステージにも進むようにしましょう。また、Aボタンを押したかが分かるように、押下後はアニメーションをつけて、サメが泳いでいるように見せます。
以下のプログラムを作ってください。
プログラム確認
「▶」を押して、動きを確認してください。以下が確認できればOKです。
- ゲームスタート後、Aボタンを押すと、サメが泳いでいるようなアニメーションをする
- しばらくすると、右の方から障害物(サンゴ)が出てくる
- ゲームごとに障害物(サンゴ)の位置が違う
サメを発射できるようにするところは、これで完成です。
上下に動けるようにする
Aボタンを押した後は、操作できないようにします。そのため、変数「スタート済み」を作り、これで状態を管理します。ゲーム開始直後は「0」、Aボタンを押した後は「1」となるようにします。
以下のプログラムを追加してください。
「ずっと+もし」のプログラムで、操作可否を操作します。操作できる場合は「vy」を「100」、できない場合は「0」に設定します。
以下のプログラムを作ってください。
プログラム確認
「▶」を押して、動きを確認してください。以下が確認できればOKです。
- ゲームスタート後、Aボタンを押すまでは、上下キーで上下に動ける
上下に動けるようにするところは、これで完成です。
ゲームクリア、ゲームオーバー
まずはゲームクリア。サメが右端に触れたらゲームクリアにします。
以下のように、プログラムを「ずっと」に追加します。
次にゲームオーバー。スプライトが指定のタイルに触れたときに動くブロックがあるので、障害物(サンゴ)のタイルに触れたら、ゲームオーバーになるようにします。
以下のプログラムを作ってください。
プログラム確認
「▶」を押して、動きを確認してください。以下が確認できればOKです。
- サメが障害物を避けて、右端に触れると、ゲームクリアになる
- サメが障害物に触れると、ゲームオーバーになる
すべてのプログラムができました。これで完成です。
すべてのプログラム(完成コード)
まとめ
中級の第2回「サメ発射ゲーム」を紹介しました。
配列にタイルマップを複数入れて、ランダムで取り出して設定する、という使い方を学びました。タイルマップの制御方法が分かると、ステージ設定を自由に行うことができます。
次回もお楽しみに♪