見出し画像

シンプルゲームでプログラミングを学ぼう!(18)「制限時間を組み込んでみよう!」

シンプルゲームでプログラミングを学ぼう!(18)「制限時間を組み込んでみよう!」

今日のサンプルプログラム・・・> こちら

※できれば以下の記事をさっと見てから開いてくださいね!
※はじめてこのページにお越しの方は、シリーズ(1)からご覧いただき、各回ごとにサンプルプログラムをさわって頂けるとうれしいです。

これまで、サンプル教材 落ち物系ゲーム「ボールドロップ」を少しずつ進化させてきています。※最初に設定した「ボールドロップ」からイメージは大きく変わってきましたが・・・

先回のおさらい → こちら(Scratchサイト)

前回の記事 → こちら

前回の成果

最初に設定したパワー(いわゆるライフ)や、クリアポイントを自由に変える仕組みを組み込みました。

これらの設定は、ゲームの難易度に関わる重要な部分です。

前回のプロジェクトでは、ネコを初期設定の変数の置き場としました。ネコが実際に登場するのは、最初と最後だけですが、ゲーム全体・プロジェクト全体に大きな影響力をもつ言わば監督、中央制御室のようなものです。

見た目はまったく変わりませんが、ゲーム(プロジェクト)の根幹に影響する大切な部分についてお話しました。

     今回の進化(変化)ポイント

・設定された時間で「時間切れです!」とメッセージが表示される。

今までのゲーム終了は、クリアポイント達成または、パワー切れでしたが、今回は「のこり時間」を組み込む方法を考えてみたいと思います。

今回は「のこり時間」=60(秒) としてカウントダウンして、これが 0 になると、終了する仕組みを作ります。

なお、開発段階では、とりあえず「のこり時間」=10(秒)として動作チェックを進めていきます。正しく動作するかどうか60秒も待ってられませんから・・・

※開発段階では、エラー対応や微調整が必要になることを見越しておくことが開発のコツです。先回、クリアポイントを変数にしたことも、そういうことなのです。

実際のプログラミングですが・・・

{のこり時間}という変数を作って、ここに60を入れてこれが、1秒ずつにカウントダウンする。
{のこり時間}が0になると、”時間切れ”というメッセージが送られる。
・メッセージを受けとると、ネコがアナウンスする。・・・

という流れで進めていきます。

たとえば、こんな方法があります。

変数{のこりT}(のこり時間)を設定
1秒ずつカウントダウンする仕組み・・10秒たつと時間切れメッセージ
{のこりT}が0になると止まる仕組み

のこり時間をカウントダウンする仕組みは簡単ですが、ゲームが終了する仕組み ・・・・のこりT  < 0  を、全部で9カ所を追加するのは、少し(かなり?)面倒です。

こういう作業の時、テキストベースのプログラミングなら、コピー&ペーストとか、置き換えとか簡単ですが、Scratchのようなブロック式だと面倒になります・・・今のところ、仕方ないかも・・・

なお、今回は扱いませんが、Scratchには、{タイマー}という変数がはじめから入っています。
タイマーをリセットする】 を好きなタイミングですると {タイマー}が自動的にカウントアップします。このタイマーは、100分の1秒の精度があります。これを使うとまた何か新しいことができそうです。

参考コード 「ぴったり10.00秒で止まる!」

今回の成果をまとめます。

・設定された時間で「時間切れです!」とメッセージが表示されて、ゲームが終了する仕組みを組みました!

 簡単にはクリアできない・・・でもクリアできるかもしれない・・・そんな感じにはなったきたかな?


今日のサンプルプログラム・・・> こちら

せっかくここまできたのだから・・・あそこを・・・

ここをこうしたい! もっとこうしたい!

そういう思いが高まってきた人は、次回の記事もぜひご覧ください。
       ・・・次回に続く・・・

前回までの記事もご覧くださいね。


<カネッチの学舎 関連リンク>


 ・Note版トップページ https://note.com/kanech21
  ・テーマ別マガジン https://note.com/kanech21/magazines

WEB版 カネッチの学舎 小学部トップページ  
https://kanech21.jp/k_index.html

カネッチのスクラッチスタジオ     https://scratch.mit.edu/search/studios?q=kanech21

カネッチの学舎 コンテンツストア
  https://kanech-manabiya.stores.jp/


  


この記事が気に入ったらサポートをしてみませんか?