Scratchでゲーム制作入門 – マウス操作で迷路ゲーム(4)

こんにちは、まなゲー池田です。
マウス操作で迷路ゲーム」の続きをやっていきます。

第2回目では「荒ぶるネコさんを落ち着かせる」ところまでを、
第3回目では「迷路を作って自由に通れなくする」ところまでをやりました。

まずまず迷路ゲームっぽくなってきましたので、第4回目の今日は、ゴールまでの時間を図る機能を追加したいと思います。

ゴールを作る

ネコさんがそれにふれたら迷路をクリアしたことになる「ゴール」を作ります。
前回の迷路づくりと同じように、新しくスプライトを描きます。モードも前回同様「ベクターモード」で描いていきましょう。

画面右側のメニューから「文字」ツールを選択します。文字を書きたい場所をクリックすると、そこにテキストボックスが現れて文字を書けるようになります。(ただし、残念ながら使える文字は英数字だけです。かな文字や漢字は使えません・・・。)

ゴール(GOAL)の頭文字をとってGとしました。
名前も変更して「ゴール」としておきましょう。

「ゴール」スプライトには特にプログラムを書き込みませんので、これで完成です。
ステージ上でドラッグして、ゴールにしたい位置まで移動させましょう。

タイマーをセットする

以前に作った「タイム」変数を使って、ゴールするまでの所要時間を図る仕組みを作っていきます。以下のプログラムをネコさんスプライトに追加していきます。流れとしては、

旗ボタンがクリックされたら、タイムを0にする(初期化)
その後、1秒待ってタイムを1増やす、をくりかえす

こんな感じですね。

で、このままだと初期化直後に時間をはかり始めてしまいますが、ネコさんをクリックして操作をスタートするまでは、所用時間をカウントするのを待っておいて欲しいので、そのように設定を加えます。

これでいい感じに、タイムがカウントアップされていくようになりました。が、そうです。このままではゴールしてもカウントアップが止まりません。

ゴールについたら、タイマーをとめる

ですので、もう一つスクリプトを追加して、ネコさんが「ゴール」にふれたら、カウントアップを止めるように設定します。

特定のスクリプトだけを狙って止めることはできないのですが、この「ネコさん」スプライト上の他のスクリプトを止めることになり、タイムのカウントアップを止めるのと同時に、ネコさんの移動も止まるので、今回に関しては、ちょうどいい具合になります。

「全てを止める」という乱暴な選択肢もあって、これはこれで手っ取り早くて楽なのですが、何もかもがブツッと切れてしまってゲームの終わりとしてはさみしいです。最初はともかく、慣れたらなるべく使わないように工夫していくことをおすすめします。

シンプルな迷路探索ゲームとしては、ひとまずこれで完成したと言っていいと思いますが、せっかくなので、次回は「おじゃま虫」キャラクターを出して、迷路探索を妨害させてみたいと思います。次回で最終回の予定です。

<おまけ>

「〜まで待つ」というブロック、便利なのでよく使いますが、実はコンピュータは「待つ」ということはできません。「〜まで待つ」は実は「〜まで、何もしないことをひたすら繰り返す」という意味で、下の画像のような処理になっているのです。「〜かどうか調べる」「何もしない」「〜かどうか調べる」「何もしない」・・・を高速でくり返しているわけです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です