micro:bitはSTEM教育のために開発された低価格マイコンボード。5x5 dot matrix LED、ボタンだけではなく、傾きセンサーや温度計、地磁気センサーや照度計など様々なセンサーが搭載されていてちょっとしたゲームを作るのに最適。そこで昔取った杵柄で、色々とプログラミングしたものを公開していこうと思います。シミュレータが提供されており、マイコンボードがなくてもプログラミング学習可能、気軽にできます。
今回は駆逐艦VS潜水艦のサブマリンゲーム。あなたはソナー音を頼りに潜水艦を探知、直上にいって爆雷を落として敵潜水艦を破壊します。
設定および機能
移動は傾きセンサーを使い、上下左右に動きます。
敵潜水艦はゆっくり1ドットづつ動きます。
(潜水艦は動作確認のために現在は表示してます)敵潜水艦が近傍1ドット内にくるとソナー音がなります。
敵潜水艦の直上にくると高いソナー音がなります。このときにBボタンを押して敵潜水艦を破壊することができます。+2点。
間違った場所で爆雷を落とすと失敗音がなります。-1点。制限時間は60秒。その間にできる限り多くの潜水艦を撃破して、高得点を狙ってください。
ソース
プログラムのポイント、既知のバグ、制限事項
今回は制限時間制にしましたが、将来的には
1)敵潜水艦が魚雷を打ってくる
2)敵潜水艦は複数に増える
を実装予定でプログラムが冗長に組まれています。
制限時間制にしたのは、1日のプログラム時間の制限があり、キリのいいところで仕上げるためです。サンデープログラマーならぬ、ミッドナイトプログラマーの宿命です。
【参考文献】
【Amazon】micro:bitではじめるプログラミング ―親子で学べるプログラミングとエレクトロニクス (Make:PROJECTS)
【Amazon】BBC micro:bit (マイクロビット)