Scratchで はじめようゲームプログラミング
6.せまいよゲームを作ろう③完
[ せまいよゲームを作ろう② ] の続きです。
せまいよゲームはこれで完結です。あと少しがんばりましょう。
ここまでのプログラムはちゃんと動いてますか?
説明通りに作っていても動かない場合があります。
初心者のうちは、どこに原因があるのか見つけることが難しいです。
そんな時はもう一度新しくプロジェクトを作るところからやり直すのも手です。
私もよくやります。
左右のキャラを近づけよう
私のお気に入りポイントを作っていきます。
その理由はプレイヤーにプレッシャーを感じさせる役割だからです。
まずは Snowman のプログラムを開いてください。
イベントからタッチを受け取ったときを持ってきます。
動きから10歩動かすを持ってきます。
移動量を 5 に変更します。
Tera 側の処理も作ります。これはコピーでやりましょう。
いま作った移動処理をドラッグして Tera のアイコンの上でドロップするだけです。
Tera のプログラムを開いて、ちゃんとコピーできているか確認しましょう。
テストしましょう。
タッチ、または、スペースキーを押すたび左右のキャラが近づいてくればOKです。
バグを修正しよう
テストしているとき違和感を感じましたか?
「これ、ダメじゃん」と思った人はプログラマーとして優秀です。
思わなかった人は経験を積めばいいだけの話なので安心してください。
追加した移動処理にはバグ(不具合)があります。
ゲームオーバーになってもタッチすれば左右のキャラが動いてしまうのです。
ゲームオーバーを判定するための変数を作ります。
変数に行き変数を作るをクリックします。
新しい変数名を「ゲームオーバー」にします。
ゲームオーバーを0にするを旗が押されたときの下に入れます。
これは初期クリアです。
もう一つゲームオーバーと言うの上に入れます。
ここは値を 1 に変更しましょう。
この変数はフラグとして使います。0 ならプレイ中、1 ならゲームオーバーという感じです。
バグを修正します。
ステージのプログラムを開きましょう。
ゲームオーバーになったらタッチしてもメッセージを送らない、という処理にします。
制御からもし◯ならを持ってきて タッチを送るの周りに置きます。
演算から◯ = ◯を持ってきます。
変数からゲームオーバーを持ってきます。
右辺を 0 に変更します。
これでゲームオーバー変数が 0 のときだけメッセージを送るようになりました。
いま作った処理をコピーしてスペースキーが押されたときの下に付けましょう。
テストしましょう。
ゲームオーバーになったらゲームオーバー変数が 1 になっているか確認します。
そしてステージをタッチしたり、スペースキーを押しても反応しないことを確認しましょう。
バグの修正が終わったらゲームオーバー変数をステージに表示する必要がありません。
変数の所を開いてチェックを外します。
これでステージから表示が消えます。
調整しよう
ゲームはほぼ完成しました。
そうしたら、できるだけ良いゲームになるように考えてみてください。
とても大切なことなので習慣にしましょう。
今回私が思ったことは、実行後、ネコがすぐに歩き出して余裕がないなぁと感じたことです。
1秒間の待ちを入れたいと思います。プレイヤーのプログラムを開いてください。
制御から1秒待つを移動処理の上に入れます。
これで実行してから歩き出すまで1秒待つことになります。
ちなみに、待ちが長いと「このプログラム、フリーズしてるのかな?」と勘違いされてしまうので注意が必要です。
効果音とジングルを入れよう
音を入れるとゲームとしての出来栄えが違います。
ネコが反転するときの効果音と、ゲームオーバーになったときのジングルを入れたいと思います。
音を入れるときは、音を入れたいスプライトの所に入れます。
ネコの反転もゲームオーバー処理もプレイヤーのプログラムにあるので
プレイヤースプライトに入れます。
音のタブをクリックして左下のアイコン(音の追加)をクリックします。
音の一覧が開いたら water を検索します。
Water Dropを選びます。
もう一つ追加します。
音の追加アイコンをクリックして lose を検索します。
Loseを選びます。
Water DropとLoseの追加を確認したらプログラミングに戻ります。
コードのタブをクリックしましょう。
音からLoseの音を鳴らすを下図のように入れましょう。
反転するときの効果音をWater Dropに変更しましょう。
遊んでみてください。
ネコが反転するときの効果音はそれなりに合っていると思います。
ゲームオーバーのジングルもいい感じですね。
これでゲーム「せまいよ」の講座は終了です。
お疲れさまでした。
ところで私はこのゲームが気に入っています。
スコアを伸ばすには、左右のキャラに当たらないギリギリの所で反転させなければなりません。
当然、失敗する確率も高くなります。
プレイヤーの度胸と判断力が試されるシンプルなゲームは好きです。