「迷路探索」の編集履歴(バックアップ)一覧に戻る
迷路探索」を以下のとおり復元します。
<p><font color=
"#993300"><strong>迷路探索に必要な変数、配列について。<br></strong></font></p>
<hr>
<font color="#993300"><strong>区画情報</strong><br>
マウス大会の迷路は、16*16マスで構成されており、<br>

マウスはこの迷路の区画の壁情報を取得しなければならない。</font><br>

<font color=
"#993300">なので、配列を用いてメモリマップを作成する。<br>
</font><img src=
"http://www4.atwiki.jp/zero_one/?cmd=upload&amp;act=open&amp;pageid=23&amp;file=%E8%BF%B7%E8%B7%AF%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0.jpg"><br>

<font color=
"#993300">↑の図のようなメモリマップになるので、マウスの初期位置は<br>

F0となり、ゴール区画は77 78 87 88
となる。またメモリマップから位置情報の更新は<br>
↓に書いた<strong>位置の管理</strong>のようにする必要がある。</font><br>

<br>
<font color=
"#993300">また、16*16の配列の中には、壁の状態を取得するわけだが、<br>

壁の状態は、壁の有無、その区画は未知か、既知かの情報を入力する。<br>

例えば、東に壁があり、西の区画が既知だったとしたら、<br>

<br>
壁の有無      区画の未知、既知<br></font>
<table style="WIDTH: 253px; HEIGHT: 48px" border="0">
<tbody>
<tr>
<td><font color="#993300">東</font></td>
<td><font color="#993300">西</font></td>
<td><font color="#993300">南</font></td>
<td><font color="#993300">北 </font></td>
<td><font color="#993300">東</font></td>
<td><font color="#993300">西</font></td>
<td><font color="#993300">南</font></td>
<td><font color="#993300">北</font></td>
</tr>
<tr>
<td><font color="#993300">1</font></td>
<td><font color="#993300">0</font></td>
<td><font color="#993300">0</font></td>
<td><font color="#993300">0</font></td>
<td><font color="#993300">0</font></td>
<td><font color="#993300">1</font></td>
<td><font color="#993300">0</font></td>
<td><font color="#993300">0</font></td>
</tr>
</tbody>
</table>
<font color="#993300"><br>
となり、0x84として、区画の情報を表せます。<br>
*前に誰かに聞かれたけど、配列は多重配列である必要はない。<br>

(うっかり多重でいいんじゃない?とか言ったような気がするので・・・)<br>

<br>
<strong>方向の管理</strong><br>
壁情報を絶対的方角で管理するのに対し、マウス自身の方向は相対的に変化させなければいけません。<br>

なので、方角への割り当てを決めて置くことで、把握しやすくします。<br>

<br>
方向  値      値(二進数)<br></font>
<table style="WIDTH: 315px; HEIGHT: 94px" border="0">
<tbody>
<tr>
<td><font color="#993300">北</font></td>
<td><font color="#993300">0x11</font></td>
<td><font color="#993300">0001,0001</font></td>
</tr>
<tr>
<td><font color="#993300">南</font></td>
<td><font color="#993300">0x44</font></td>
<td><font color="#993300">0100,0100</font></td>
</tr>
<tr>
<td><font color="#993300">西</font></td>
<td><font color="#993300">0x22</font></td>
<td><font color="#993300">0010,0010</font></td>
</tr>
<tr>
<td><font color="#993300">東</font></td>
<td><font color="#993300">0x88</font></td>
<td><font color="#993300">1000,1000</font></td>
</tr>
</tbody>
</table>
<font color="#993300"><br>
*配った資料が北西南東なのに対し、今書いてるのが北南西東なのはみやすくするため。<br>

間違わないように気をつけてくだされ。まぎらわしぃんで。<br>

<br>
<strong>位置の管理</strong><br>
ポインタ操作でメモリマップ内でマウスの位置情報を更新します。<br>

メモリマップの構成上位置操作は下のようになります。<br>
<br></font>
<table style="WIDTH: 218px; HEIGHT: 94px" border="0">
<tbody>
<tr>
<td><font color="#993300">北</font></td>
<td><font color="#993300">位置‐0x10</font></td>
</tr>
<tr>
<td><font color="#993300">南</font></td>
<td><font color="#993300">位置+0x10</font></td>
</tr>
<tr>
<td><font color="#993300">西</font></td>
<td><font color="#993300">位置‐0x01</font></td>
</tr>
<tr>
<td><font color="#993300">東</font></td>
<td><font color="#993300">位置+0x01</font></td>
</tr>
</tbody>
</table>
<font color="#993300"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br></font><br>

復元してよろしいですか?

記事メニュー
人気記事ランキング
目安箱バナー