スタータープロジェクト

リミックス用プロジェクト

完成サンプル
サンプル
難易度

入門にゅうもんレベル

チャプター数
全5章
タグ

え?ゲームオーバーを作ってたらヤバいバグ出たw|スイカゲーム⑩

ok-scratch
どえ!?ゲームオーバー作ってただけなのに、なんかヤバいバグったぞ!?これ、直るんですか……?

Scratchでスイカゲームを作ろう!~ゲームオーバー編~

こんにちは!今回はスイカゲームの「ゲームオーバー」機能を作っていくよ!箱からフルーツがあふれてしまったら終了!というルールを実装して、本格的なゲームに仕上げていこう!

①ゲームオーバーの条件を設定しよう!

まずは、どんな時にゲームオーバーになるのかの条件を考えよう:

【ゲームオーバーの条件】
1. 「ゲームオーバーか」という変数を作る(初期値は「イイエ(0)」)
2. フルーツのY座標がポッピー(雲)のY座標を超えたらゲームオーバー
3. ゲームオーバーになったら変数を「ハイ(1)」にする

これで、フルーツが箱から溢れて雲の高さまで達したらゲームオーバーになるよ!

②ゲームオーバー時の処理を作ろう!

ゲームオーバーになったら、ゲームを停止する処理を追加しよう:

【ゲームオーバー時の処理】
1. 「ゲームをスタートします」メッセージ受信ブロックに条件を追加
2. もし「ゲームオーバーか」が「ハイ」なら
3. このスクリプトを止める(ずっとループを停止)
4. 緑の旗ブロックにも同じ条件を追加

これでゲームオーバーになったら、ゲームが止まるようになったよ!

③あれ?バグが発生!修正しよう!

テストしてみると、いくつかのバグが見つかったよ:

【発見したバグ】
1. フルーツを落とす時に一瞬、待機玉と重なってゲームオーバーになることがある
2. 落下中のフルーツ同士が当たって進化してしまうことがある

これはおかしいね!直していこう!

【バグ修正方法】
1. Y座標チェックに条件を追加:
   - Y座標がポッピーを超えていて、かつ
   - 待機玉コス1が空白ではない(=落下中ではない)時だけ
   
2. 待機玉更新の条件をより厳密に:
   - 落下中ではない、かつ
   - 現在の玉が最後の玉ではない

この修正により、誤ってゲームオーバーになったり、途中で進化したりする問題が解決されたよ!

④ゲームオーバー画面を作ろう!

最後に、ゲームオーバーになったときに表示する画面を作ろう:

【ゲームオーバー画面の作り方】
1. 「ゲームオーバー」というスプライトを用意
2. 緑の旗が押されたら、座標を中央(0,0)に設定して隠す
3. 「ゲームオーバーです」というメッセージを受け取ったら表示する
4. メインスプライトから、ゲームオーバー時にこのメッセージを送信

これでゲームオーバーになると、画面中央に「GAME OVER」と表示されるようになったよ!


今回はゲームオーバー機能を実装したね!バグも見つけて修正できたし、プログラミングの腕前も上がってきたね!次回はゲームオーバー画面に「リトライ」と「ホーム」ボタンを追加して、もう一度遊べるようにしていくよ!

完成まであと少し!がんばろう!スクラッチオン!

スクラッチゲーム攻略

スクラッチゲーム一覧

    • 厳選されたスクラッチ人気作品リストがレビュー付きで楽しめます
      世界中のヒットゲームをスクラッチで遊ぼう
      趣味に関するスクラッチ作品例
      勉強になるスクラッチ作品