micro:bitでフリフリ計測ゲームをつくってみる①タイマー機能編
こんにちは。E研究員です。
こちらの記事でも紹介しましたが、micro:bit で「決まった時間の中で振った回数を競うゲーム」を作ってみます。
(久しぶりのmicro:bit プログラミング記事です)
イメージとしては
・ボタンAを押すとゲームスタート(時間計測スタート)
・micro:bit を振ると、振った回数が表示される(振るほど数字が増え続ける)
・ゲームスタートから20秒経ったらゲーム終了。それ以上振っても数字が増えない
・ボタンBを押すとリセット
というようなものを作ろうと思います。
ここで重要なのは、「時間を計測する」+「決まった時間が経ったらゲームを終了する」機能です。
調べてみると、micro:bit は電源を投入してからの時間を内部でカウントしているようです。
こちら と こちらのwebサイトを参考にしました。
今回は「回数」「フラグ」「開始時間」という3つの変数を作ります。
【ボタンAが押されたとき、変数「開始時間」を「稼働時間(ミリ秒)」にする】
という記述をつくることで、ボタンAを押した瞬間の時間を記録します。
「稼働時間(ミリ秒)」というのは、電源を入れてからの時間をずっと計測している値のため、電源を入れている間は増え続けています。
そのため、「稼働時間(ミリ秒)」と「開始時間」(=ボタンAを押した時間)の差が20000ミリ秒(=20秒)になったかどうかを判断すれば、ボタンAを押してから20秒を過ぎたかどうかを判断できます。
今回は時間を計測する方法について説明しました。後日、振った回数を数えて表示する方法や、プログラム全体を作っていきます。
また、CoderDojo 港北ニュータウン第1回 イベントの参加者を絶賛募集中です。
ぜひお気軽にご参加ください。それでは。
無料のプログラミングクラブCoderDojoを運営するにあたり寄付を受け付けています。お金は会場費・Wifiの費用・教科書に使用します。