みんなの作品「25マス計算」のプログラムを見ながら超便利な「ストップウォッチ」ブロックを解説! <上級編>
本記事は2020年12月18日にLINE entry公式ブログにて掲載されたものを再掲載した記事です。
前回は「25マス計算」の遊び方をご紹介しました。
キーボードで数字を打つ練習も! 「25マス計算」で足し算、引き算、かけ算をゲーム感覚で楽しもう!
今回は「25マス計算」のプログラムの中から、時間を計る「ストップウォッチブロック」の使い方についてレクチャーしたいと思います。ストップウォッチブロックは自動で時間を計ってくれるとても便利なブロックです。使い方を知っておくと、いろいろな場面で役に立つと思います!
「ストップウォッチ」ブロックとは
25マス計算のプログラムを見る前に、簡単に「ストップウォッチ」ブロックについて説明します。このブロックには3種類の命令があります。「スタート」、「停止する」、「初期化する」の3種類です。
ストップウォッチの後の選択枠から「スタート」を選ぶと時間を計りはじめます。時間は「ストップウォッチの値」という変数に記録されます。「停止する」を選ぶと時間を計るのをやめて停止します。「初期化する」を選ぶと時間を計るのをやめて、「ストップウォッチの値」を「0」にもどします。
それでは、「25マス計算」の中でストップウォッチブロックがどのように使われているのか見ていきましょう!
25マス計算での「ストップウォッチ」ブロックの使われ方
下のリンクをクリックして「25マス計算」のページを開きます。
25マス計算
「25マス計算」の作品ページの右下の「ブロックを見る」をクリックしてください。
「25マス計算」では「タイム」のプログラムの中でストップウォッチブロックが使われています。「タイム」のプログラムを見てください。
画面右側に「タイム」のブロックが出てきました。この中に先ほど説明した3種類のストップウォッチブロックが使われています。どのようにブロックが使われているかというと……「25マス計算」では問題が始まってからクリアするまでの時間を計るので、
「スタート」信号を受け取った時にストップウォッチを「スタート」
「クリア」信号を受け取った時にストップウォッチを「停止する」
クリアした後もう一回チャレンジする時に時間を計りなおす必要があるので、「カウントダウン」信号を受け取ったときにストップウォッチを「初期化する」
このような仕組みでスタートからクリアまでの時間を計ることができるようになります! 実際のプログラムは以下の画像になります。
あとは「ストップウォッチの値」を表示すればよいので、「ストップウォッチの値を表示する」ブロックを組み合わせれば画面にタイムを表示することができます。
ただし、「ストップウォッチの値」をそのまま表示すると、0.001秒単位で表示されるため、細かすぎて見づらくなってしまいます。
さて、ここで少し考えてみましょう。「ストップウォッチの値」に少し手を加えて、0.1秒単位で時間を表示したい時はどうすればいいでしょうか?
正解は、『「ストップウォッチの値」を10倍して、小数点以下を切り捨てた後、それを10で割った値を表示する』です!
ひとつずつ整理して説明していきますね。まず「ストップウォッチの値」は1秒につき1増えるので、それを10倍すると、1秒につき10増えることになります。別の言い方をすると0.1秒につき1増えるようになるということです。
次に、この数字の小数点以下を切り捨てます。「小数点以下を切り捨てる」とは、たとえば「12.555」という数字があった時、「.」より後ろにある数字をすべて捨てて「12」にするということです。こうすることで2桁の数字を残して、それより後ろにある数字を捨てることができます。
最後に、その値を10で割ることで元の1秒につき1増えるようプログラムを戻します。このように一工夫加えることで0.1秒単位で時間を計ることができるようになります!
「ストップウォッチブロック」の説明はここまでになります。このブロックはとても便利で、さまざまなことに使えます。
たとえばゲームを作るときに、時間がたてばたつほど強い敵が出てくるようにしたり、決まった時間に決まったアイテムが出てくるようにしたりすることで、ゲームの難しさを調整することもできるでしょう。
ぜひ「ストップウォッチ」ブロックを使ってプログラムを作って見てくださいね!