こんにちは。seyaです。
今回は、迷路の壁情報の保存のプログラムをc++で書いてみました。
壁情報の保存の仕方は、クラシックマウスの迷路が16*16マスあることから縦、横がそれぞれ17こあるという考え方をもとに行いました。
縦、横壁の一次配列を2つ作成し、それぞれの配列の変数のビットに壁情報を保存するという方法をとりました。この方法の問題点は、プログラムをぱっとみたときにわからないということがあります。
なぜこの方法をとるかというと、マイクロマウス競技で使用されているマイコンではメモリをふんだんに使うことができないため、メモリの節約を意識したプログラムを書くことが多いです。
今回は、メモリを意識(?)してみました。
ソースコードは以下の通りです。
迷路で使用する変数を書いたヘッダファイル、マップ情報を保存するためのヘッダ、ソースコードです。
ここに挙げたソースコードでは、表示ができませんが、表示をすると下記の写真のようになります!次回以降に表示方法を書いていきたいと思います!
ソースコードを書いてから気づきましたが、ラズベリーパイのメモリはふんだんにあるので気にする必要がそこまでなかったような気がします。
メモリを意識しないでロボットを動かすためのソースコードをかけるのはいいですね!
次回やること
今回のマップ情報を使用して、マイクロマウスの迷路探索アルゴリズムでよく使用される足立法の実装を行う!