Micromouse_zero @Wiki

迷路探索

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集
迷路探索に必要な変数、配列について。

区画情報
マウス大会の迷路は、16*16マスで構成されており、
マウスはこの迷路の区画の壁情報を取得しなければならない。

なので、配列を用いてメモリマップを作成する。

↑の図のようなメモリマップになるので、マウスの初期位置は[F0]となり、
ゴール区画は [77] [ 78] [87][88]となる。またメモリマップから位置情報の更新は
↓に書いた位置の管理のようにする必要がある。


また、16*16の配列の中には、壁の状態を取得するわけだが、
壁の状態は、壁の有無、その区画は未知か、既知かの情報を入力する。
例えば、東に壁があり、西の区画が既知だったとしたら、

壁の有無 区画の未知、既知
西 北  西
1 0 0 0 0 1 0 0


となり、0x84として、区画の情報を表せます。
*前に誰かに聞かれたけど、配列は多重配列である必要はない。
(うっかり多重でいいんじゃない?とか言ったような気がするので・・・)

方向の管理
壁情報を絶対的方角で管理するのに対し、マウス自身の方向は相対的に変化させなければいけません。
なので、方角への割り当てを決めて置くことで、把握しやすくします。

方向        値(二進数)
0x11 0001,0001
0x44 0100,0100
西 0x22 0010,0010
0x88 1000,1000

*配った資料が北西南東なのに対し、今書いてるのが北南西東なのはみやすくするため。
間違わないように気をつけてくだされ。まぎらわしぃんで。

位置の管理
ポインタ操作でメモリマップ内でマウスの位置情報を更新します。
メモリマップの構成上位置操作は下のようになります。

位置‐0x10
位置+0x10
西 位置‐0x01
位置+0x01













タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

添付ファイル
記事メニュー
目安箱バナー