🧑‍💻

Scratchでカジュアルゲーム (2) 風船バレーボール

2024/05/04に公開

はじめに

CoderDojoというボランティア団体で、子供達のプログラミングスキル習得の支援をしております。プログラミングの開発環境は、主にScratchを使っていますが、いちからScratchでプログラミングするハードルも結構高いので、気軽にリミックスできる教材を作ってみました。今回は第二弾になります。

風船バレーボール

作った教材はこちら

風船バレーボール

風船をウチワであおいでバレーボールをする対戦型のゲームです。「赤うちわ」はa,dキーで横移動、wキーであおぎ、「青うちわ」は矢印キーで横移動、上矢印キーであおぎます。自分の陣地で風船が割れたら負けです!勝負が決まると次のステージに進みます。

友達同士や兄弟・姉妹でCoderDojoに参加している子供達をターゲットに開発しました。Scratchでカジュアルゲーム (1) 風船ゲームで作成した風船ゲームをベースにしています。ステージの再挑戦がない分、風船ゲームより若干シンプルな作りになっています。

リミックスのアイディア

Scratchでカジュアルゲーム (1) 風船ゲームのリミックスのアイディアに加え、

アイディア 説明
負けた方にサーブ権を渡す サーブ権はランダムに設定していますが、負けた方が最初のサーブ権を取得するように変更する。
青うちわはマウスで操作する 青うちわはマウスで操作できるように変更する。
赤、青それぞれの勝敗数を表示する 赤、青、何勝何敗か分かるように勝敗数を表示する。
試合にタイマーを追加する ゲームに慣れてくると勝負が付きにくくなりますので、例えば60秒後に自動的に風船が割れるようにして、指定の時間で決着がつくようにする。
最終的な勝者を決める 全てのステージの勝敗を集計して最終的な勝者を決める。

など、色々リミックスして楽しんでみましょう。

プログラムの概要説明

主要なコードは「風船」スプライトで実装しています。ここでは全体の構成を説明しますが、特に風船の物理挙動のコードは複雑なため、必要に応じてScratchでカジュアルゲーム (1) 風船ゲームの解説で確認してください。

スプライト コード概要
風船 風船の上下移動、風が当たった時の処理等の物理挙動、メッセージの送信(ゲームオーバー表示完了)、メッセージ処理(風にあたった次のステージゲームオーバー)、等、風船ゲームの主要な処理を行います。
赤うちわ 赤ウチワの移動処理と風の生成を行います。
赤風 赤風の移動と風船に触れた際の風にあたったメッセージ送信、端に触れた際の削除処理を行います。
青うちわ 青ウチワの移動処理と風の生成を行います。
青風 青風の移動と風船に触れた際の風にあたったメッセージ送信、端に触れた際の削除処理を行います。
ステージ 風船と障害物との当たり判定とゲームオーバーメッセージ送信、次のステージを受け取った時のステージ移行の処理を行います。
ゲームオーバー ゲームオーバーを受け取った時の表示とそゲームオーバー表示完了の非表示処理、次のステージメッセージ送信を行います。
地面、左壁、右壁、天井 旗が押された時にドラッグができないようにしています。

スプライト間のメッセージのやりとりを図示すると以下のようになります。再挑戦ゴールのメッセージ、のスプライトがない分風船ゲームよりだいぶシンプルです。

おわりに

お疲れ様でした。風船ゲームをベースにして、風船バレーボールを作成しました。友達同士や兄弟・姉妹で対戦して楽しんでみてください。こちらも是非、りミックスに挑戦して、より楽しいゲームにしてみてください!

GitHubで編集を提案

Discussion