ページトップへ

子どものScratchゲームに制限時間をつけるには?残り時間と時間切れの設計シート

コラム

子どもが作ったScratchゲームに制限時間をつけたいけれど、数字を減らすだけでよいのか、時間切れで何を止めるのか迷っていませんか。経過時間を測る「タイマー」から残り時間を計算し、期限を過ぎたら操作と加点を終える形に分けると整理できます。

この記事では、猫を動かして魚を集める架空のゲームを例に、制限時間を追加する手順を紹介します。一時停止や時間延長のない、小さな作品が対象です。秒数は子どもが決める設定値とし、特定の長さを正解にはしません。

まず「何秒遊ぶか」より、いつから数えるかを決める

同じ制限時間でも、説明を読んでいる間から減るゲームと、操作できるようになってから減るゲームでは、遊ぶ人の受け取り方が変わります。

今回の設計では、猫や魚の配置が終わり、操作できるようになる直前を計測の始まりにします。説明画面や「よーい」の演出を入れるなら、それらが終わった後です。

次の表は、作品に合わせて書き換えるための制限時間設計シートです。「時間切れ」の行まで決めてからブロックを組みましょう。

決めること 今回の設計例 自分の作品の記入欄
時間を数え始める瞬間 配置が終わり、操作が始まる直前 ____
制限時間 子どもが決めた、0より大きい秒数 ____秒
プレイ中に見せるもの 残り時間と得点 ____
時間切れで終えるもの 猫の操作、魚の移動、接触による加点 ____
終了後も残すもの 最後の得点と「時間切れ」の表示 ____

たとえば「魚は止まったのに、猫を動かすと得点が増える」状態は、この設計では未完成です。終了後に何ができなくなるのかまで、一つのルールとしてそろえます。

「経過時間」と「残り時間」は別の数字

Scratchの「タイマー」は、秒単位で経過時間を返すブロックです。残り時間を自動的に減らすものではありません。また、タイマー自体は動き続けます。基本の動作は、Scratch公式のタイマー説明で確認できます。

そこで、この記事では次の関係を使います。

残り時間 = 制限時間 − タイマーの値

時間を数え始める直前に「タイマーをリセット」を実行すると、タイマーの値を0にできます。この動作は、公式のリセット説明に示されています。

「待ってから減らす」とは、組み立て方が違う

「残り時間を設定し、一定の秒数を待ってから減らす」という構成も考えられます。ただし、「待つ」ブロックは指定した時間を待って次へ進む命令です。ほかの処理を間に追加すると、時間を減らす流れもそれに左右される構成になります。命令の意味は、公式の「待つ」ブロック説明を参照してください。

今回は、待つ回数ではなく、タイマーが返す経過時間をもとに残り時間を求める方法を採用します。時間管理の途中へ、音や移動の演出を挟まない形です。

時間を管理する役を一つにまとめる

猫も魚も別々に時間を減らすのではなく、ステージ側に時間管理をまとめる設計にします。猫と魚は、共通の「ゲーム状態」を見て動く役に分けましょう。

用意する変数は「制限時間」「残り時間」「ゲーム状態」です。いずれも「すべてのスプライト用」にし、ゲーム状態には「準備中」「プレイ中」「終了」という文字を入れる例にします。これらは本記事で決めた名前であり、Scratchが自動で用意する状態ではありません。

準備を終えてから、開始の合図を送る

以下は、ブロックの順序を文字で表した組み立て例です。「配置などの準備」は、それぞれの作品に必要な処理へ置き換えます。

緑の旗が押されたとき
ゲーム状態を「準備中」にする
制限時間を、決めた秒数にする
残り時間を制限時間にする
得点や配置などの準備をする
タイマーをリセット
ゲーム状態を「プレイ中」にする
「プレイ開始」を送る

「タイマー < 制限時間」ではなくなるまで繰り返す
  残り時間を「制限時間 − タイマー」にする

残り時間を0にする
ゲーム状態を「終了」にする
「時間切れ」を送る

Scratchで条件を組むときは、「〜まで繰り返す」に「ではない」を入れ、その内側へ「タイマー < 制限時間」を入れる形です。制限時間に達したか、それを過ぎたら繰り返しを抜けます。

制限時間には、空欄や文字ではなく、0より大きい数を設定してください。また、ほかの場所に「タイマーをリセット」が残っていると、計測の基準が変わります。魚を取るたびにリセットする構成にはしません。タイマーの取得とリセットの実装は、Scratch公式のセンシングブロック実装でも確認できます。

配置の準備が別スプライトにある場合

準備の処理を複数のスプライトに分けている作品では、ステージだけ先に計測を始めないようにします。準備用のメッセージを使うなら、「準備を送って待つ」の後へタイマーのリセットを置く構成が候補です。

ただし、その準備メッセージを受け取る処理に、終わらない「ずっと」を入れないでください。ここで待つ対象は、配置や表示の初期設定など、終わりのある準備に限定します。

時間切れでは、表示だけでなく操作と加点も終える

「時間切れ」と表示しても、ほかのスクリプトがそのまま動いていればゲームは続いてしまいます。今回は、短い移動と接触判定を繰り返す箇所へ、次の条件を入れる設計にします。

記事の途中で1分・5問

お子さまに合う学び方診断

正解・不正解を決める診断ではありません。今の様子から、取り組みやすい学び方の入口をご案内します。

「プレイ開始」を受け取ったとき
ずっと
  もし「ゲーム状態 = プレイ中」かつ
      「タイマー < 制限時間」なら
    このスプライトの短い移動や判定を行う

猫のキー操作、魚の自動移動、魚に触れたときの加点など、それぞれに条件が必要です。ゲーム状態だけでなく期限も確かめるのは、終了の合図が処理される前に、期限後の加点を始めないためです。

条件の内側で長く待ってから加点する作品では、待つ前の確認だけでは足りません。加点の直前にも期限を確かめるなど、処理の組み直しが必要です。今回の例は、長い待ち時間や移動演出を含まないものとして考えてください。

終了表示を担当するスプライトは、「時間切れ」を受け取ったら文字を表示します。最終得点は0に戻さず、その回の結果として残しましょう。

なお、「すべてを止める」は全スプライトのスクリプトを止める命令です。終了表示なども別のスクリプトで動かしたい今回は、使わずに状態を切り替えます。停止命令の範囲は、Scratch公式の停止ブロック説明で確認できます。

残り時間の見せ方と、完成前の確認

最初の試作では、残り時間に小数が表示されても、そのまま動作を確認して構いません。「表示を読みやすくすること」と「期限を判定すること」は分けて扱います。

整数表示に整える場合も、終了判定には加工前のタイマーを使ってください。「四捨五入」は最も近い整数にする処理なので、丸めた表示が0になった瞬間を、そのまま期限にする設計は避けます。丸め方の意味は、公式の四捨五入ブロック説明を参照できます。

完成前には、ただ最後まで眺めるのではなく、次の場面を試します。

  • 開始前:説明や配置の準備中に、残り時間が減っていないか。
  • 終了直前:キーを押し続けても、期限後に猫が動き続けないか。
  • 魚に触れた状態:時間切れの後に得点が増えないか。
  • 終了後:残り時間が0で止まり、最終得点と終了表示が残るか。

幼児が設計に参加するなら、「時間切れの文字をどこに出すか」「最後に得点を残すか」など、画面を見て選べる部分を一緒に決める方法もあります。ブロックの組み立てを全部担当する必要はありません。

この例は家庭でゲームの仕組みを試すためのもので、競技用の精密な時間計測を保証するものではありません。一時停止中の時間を除く仕組みや、途中で制限時間を延ばす仕組みは対象外です。

よくある質問(FAQ)

タイマーを画面に出せば、残り時間になりますか?

いいえ。タイマーが示すのは経過時間です。残り時間を見せたい場合は、制限時間からタイマーの値を引き、その結果を表示する変数へ入れます。

残り時間がマイナスになったら、どうしますか?

今回の設計では、期限に達して繰り返しを抜けた後、残り時間を0に固定します。終了後も引き算を続ける構成にしないことがポイントです。

時間切れの後も得点が増えるのはなぜですか?

加点処理が終了条件の外にある可能性があります。猫の移動だけでなく、魚に触れたときの処理にも、ゲーム状態と期限を確かめる条件が入っているか確認してください。

途中で休憩できるゲームにも、そのまま使えますか?

そのままでは使えません。この方法は、開始からの経過時間を使う設計です。休憩中を制限時間から除きたい場合は、休憩した時間を差し引くなど、別の時間管理が必要になります。

体験教室で制限時間のあるゲームを相談できますか?

「残り時間を表示し、時間切れで操作と加点を終えるゲームを作りたい」と、希望する仕組みを具体的に伝えてみてください。既存作品の持ち込み可否や、体験で扱える範囲は不明のため、事前の確認が必要です。体験内での完成を約束するものではありません。

南青山のCotoMiraiは、一人ひとりに合わせた個別指導を行うプログラミングスクールです。子どもの年齢・興味・理解度に合わせ、今回の仕組みのどこから取り組むか相談する入口として体験をご活用ください。指導の考え方は、CotoMirai公式サイトで紹介しています。

公式の入会案内では、年中以上は無料体験、年中未満はプログラミングトイスポットへの参加を案内しています。対象と申し込みの流れをご確認ください。

CotoMiraiの無料体験・入会方法を見る

参考にした情報

関連する記事

読後に1分・5問

お子さまに合う学び方診断

正解・不正解を決める診断ではありません。今の様子から、取り組みやすい学び方の入口をご案内します。

お知らせ一覧へ

アクセス

A C C E S S