こんにちは! 宗村です。42回目の神楽坂プログラミング教室ではmicro:bitでビー玉キャッチゲームを作りました。 ゲームのルールはとても簡単! 上から次々に落ちてくるビー玉を何個キャッチできるかというゲームです。
このゲームで遊ぶためには2個のサーボモーターを正しく動かす必要があります。
1つ目はビー玉を落とす仕組み。ビー玉が拾える角度まで正確にモーターを動かして、次にビー玉を放出できる角度まで動かします。これを繰り返して次々にビー玉を落としていきます。こちらはゲームスタートで自動的に動き出す仕組みです。
2つ目はビー玉をキャッチする仕組み。台の下の方には穴が開いていて、そのままではビー玉が下に落ちてしまいます。そこで橋を左右に動かしてビー玉をキャッチして下に落ちないようにします。こちらはプレイヤーが常に動かす仕組みです。
この二つの仕組みをワークショップモジュールを装着したmicro:bitで動かします。
プログラムが完成したら爪楊枝をさしてビー玉の動きを複雑にして遊んでみます。
遊んでいく中で、各々いろいろな改良を講じていていました。
- 基本状態のプログラムはmicro:bitのAボタンBボタンを押すたびにサーボモーターの角度が一定量増減するというものでしたが、それだと操作が間に合わないことがあるので、瞬時に中心に復帰するような機能を追加する。
- ビー玉放出器の角度をランダムにして、ビー玉の軌道のバリエーションを増やしてみる。
- ボタンではなくmicro:bitを傾けることで動かしてみる。
- 落とし穴を作ってゲームの難易度をアップする。
今回は変数を使ってサーボモーターを角度を細かく調整することが、主な学習内容でした。 変数を使うので、少し難しいかなと思っていましたが、みんなちゃんと使いこなしていました。
これまでの活動はこちら