「ちょっとでも振ったら爆発!?」——micro:bitの加速度センサーを使って、ドキドキしながら友達に回すパーティーゲームを作れます。
今回は、時限爆弾ゲームの仕組みと作り方をわかりやすく解説します。
シンプルなプログラムの中に、ゲーム設計の大事な考え方がギュっと詰まっています。
ゲームのルールはたった2つ
このゲームのルールはシンプルです。「強く動かしたらアウト」「制限時間を超えてもアウト」——この2つの条件のどちらかを満たすとゲームオーバーになります。
シンプルに聞こえますが、プログラムの設計としてはとても良い構造をしています。
「複数の条件のうちひとつでも満たしたら終了」という処理は、ゲーム以外でも幅広く使える考え方です。どんな複雑なプログラムも、こういったシンプルな条件の積み重ねでできています。
加速度センサーで「揺れ」を検知する
micro:bitには加速度センサーが内蔵されており、傾きや動きの強さを数値として取得できます。
このゲームでは、加速度の値が設定値(デフォルトは1300)を超えたら「強く動かした」と判定します。
この数値は自分好みに調整できます。
1300より大きくする(例:1500や1700)と判定が甘くなり、少し揺らしても爆発しにくくなります。逆に小さくするとシビアになる。
この「数字を変えるだけで難易度が変わる」という体験は、教室でも子どもたちが夢中になるポイントです。
「もっと難しくしたい」「もっとゆるくしたい」と自分で試行錯誤する姿が、プログラミングの楽しさそのものです。
乱数でドキドキ感を生み出す制限時間
制限時間は固定ではなく乱数で決まります。7000〜20000ミリ秒(7〜20秒)のランダムな値が設定されるため、「あと何秒で爆発するかわからない」緊張感が生まれます。
「乱数」はゲームプログラミングで非常によく使われる概念です。
「毎回同じにしない」ことでゲームに変化とドキドキ感が生まれる。
Scratchでも乱数をよく使いますが、micro:bitのゲームでも同じ発想が使えることを実感できます。
「関数」でコードを整理する
このゲームでは「爆発」という関数(定義ブロック)を使って、ゲームオーバー時の処理をまとめています。
ゲームオーバーを1にする、音を鳴らす、ゲームオーバーの表示をする——これらをひとつにまとめることで、複数の場所から呼び出せます。
「同じ処理を何度も書くのではなく、ひとつにまとめて呼び出す」これが関数の考え方です。
コードが短くなるだけでなく、修正するときも一箇所直すだけで済むようになります。
プログラミングが上達していく過程で必ず使いこなしたい、大事な概念です。
教室で実際に遊んでみたら大盛り上がり
この時限爆弾ゲームは、教室で実際に子どもたちと遊んでみました。
「片手で運ぶルールにしよう」というアイデアが子どもから自然に出てきて、そのルールを採用して遊ぶと難易度がぐっと上がって盛り上がりました。
自分が作ったゲームで遊ぶ体験は、「次はこう変えたい」という次の制作意欲に直結します。
動画でより詳しく確認しよう
この記事で紹介した内容は、ぴょろ先生が実際のmicro:bitプログラムを画面で見せながら解説しています。
加速度センサーの数値の読み方や関数の作り方は、動画でこそわかりやすく確認できます。
プログラメイクでmicro:bitやScratchを学ぶ
東京都中央区のパソコン・プログラミング教室「プログラメイク」では、micro:bitを使ったゲーム制作やScratchによるプログラミングを小学生・中学生向けに提供しています。
小学生のプログラミングの習い事として、センサーや変数・関数といった本格的な概念も楽しみながら学べる環境です。
中央区でプログラミング教室をお探しの方は、ぜひ一度体験授業にお越しください。