Scratchでカジュアルゲーム (2) 風船バレーボール
はじめに
CoderDojoというボランティア団体で、子供達のプログラミングスキル習得の支援をしております。プログラミングの開発環境は、主にScratchを使っていますが、いちからScratchでプログラミングするハードルも結構高いので、気軽にリミックスできる教材を作ってみました。今回は第二弾になります。
風船バレーボール
作った教材はこちら。
風船をウチワであおいでバレーボールをする対戦型のゲームです。「赤うちわ」はa,dキーで横移動、wキーであおぎ、「青うちわ」は矢印キーで横移動、上矢印キーであおぎます。自分の陣地で風船が割れたら負けです!勝負が決まると次のステージに進みます。
友達同士や兄弟・姉妹でCoderDojoに参加している子供達をターゲットに開発しました。Scratchでカジュアルゲーム (1) 風船ゲームで作成した風船ゲームをベースにしています。ステージの再挑戦がない分、風船ゲームより若干シンプルな作りになっています。
リミックスのアイディア
Scratchでカジュアルゲーム (1) 風船ゲームのリミックスのアイディアに加え、
アイディア | 説明 |
---|---|
負けた方にサーブ権を渡す | サーブ権はランダムに設定していますが、負けた方が最初のサーブ権を取得するように変更する。 |
青うちわはマウスで操作する | 青うちわはマウスで操作できるように変更する。 |
赤、青それぞれの勝敗数を表示する | 赤、青、何勝何敗か分かるように勝敗数を表示する。 |
試合にタイマーを追加する | ゲームに慣れてくると勝負が付きにくくなりますので、例えば60秒後に自動的に風船が割れるようにして、指定の時間で決着がつくようにする。 |
最終的な勝者を決める | 全てのステージの勝敗を集計して最終的な勝者を決める。 |
など、色々リミックスして楽しんでみましょう。
プログラムの概要説明
主要なコードは「風船」スプライトで実装しています。ここでは全体の構成を説明しますが、特に風船の物理挙動のコードは複雑なため、必要に応じてScratchでカジュアルゲーム (1) 風船ゲームの解説で確認してください。
スプライト | コード概要 |
---|---|
風船 | 風船の上下移動、風が当たった時の処理等の物理挙動、メッセージの送信(ゲームオーバー表示完了 )、メッセージ処理(風にあたった 、次のステージ 、ゲームオーバー )、等、風船ゲームの主要な処理を行います。 |
赤うちわ | 赤ウチワの移動処理と風の生成を行います。 |
赤風 | 赤風の移動と風船に触れた際の風にあたった メッセージ送信、端に触れた際の削除処理を行います。 |
青うちわ | 青ウチワの移動処理と風の生成を行います。 |
青風 | 青風の移動と風船に触れた際の風にあたった メッセージ送信、端に触れた際の削除処理を行います。 |
ステージ | 風船と障害物との当たり判定とゲームオーバー メッセージ送信、次のステージ を受け取った時のステージ移行の処理を行います。 |
ゲームオーバー |
ゲームオーバー を受け取った時の表示とそゲームオーバー表示完了 の非表示処理、次のステージ メッセージ送信を行います。 |
地面、左壁、右壁、天井 | 旗が押された時にドラッグができないようにしています。 |
スプライト間のメッセージのやりとりを図示すると以下のようになります。再挑戦
とゴール
のメッセージ、器
のスプライトがない分風船ゲームよりだいぶシンプルです。
おわりに
お疲れ様でした。風船ゲームをベースにして、風船バレーボールを作成しました。友達同士や兄弟・姉妹で対戦して楽しんでみてください。こちらも是非、りミックスに挑戦して、より楽しいゲームにしてみてください!
Discussion