「迷路探索」(2005/07/15 (金) 11:10:34) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<font color=
"#993300"><strong>迷路探索に必要な変数、配列について。<br></strong></font>
<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&act=open&pageid=23&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">↑の図のようなメモリマップになるので、マウスの初期位置は[F0]
となり、<br>
ゴール区画は [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>
<font color=
"#993300"><strong>迷路探索に必要な変数、配列について。<br></strong></font>
<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&act=open&pageid=23&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">↑の図のようなメモリマップになるので、マウスの初期位置は[F0]となり、<br>
ゴール区画は [77] [ 78]
[87][88]となる。またメモリマップから位置情報の更新は<br>
↓に書いた<strong>位置の管理</strong>のようにする必要がある。</font><br>
<br>
<font color=
"#993300">また、16*16の配列の中には、壁の状態を取得するわけだが、<br>
壁の状態は、壁の有無、その区画は未知か、既知かの情報を入力する。<br>
例えば、東に壁があり、西の区画が既知だったとしたら、<br>
<br></font>
<table style="WIDTH: 375px; HEIGHT: 24px" border="0">
<tbody>
<tr>
<td><font color="#993300">壁の有無</font></td>
<td><font color="#993300">区画の未知、既知</font></td>
</tr>
</tbody>
</table>
<table style="WIDTH: 253px; HEIGHT: 45px" 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></font><font color="#993300"><br>
となり、0x84として、区画の情報を表せます。<br>
*前に誰かに聞かれたけど、配列は多重配列である必要はない。<br>
(うっかり多重でいいんじゃない?とか言ったような気がするので・・・)<br>
<br>
<strong>方向の管理</strong><br>
壁情報を絶対的方角で管理するのに対し、マウス自身の方向は相対的に変化させなければいけません。<br>
なので、方角への割り当てを決めて置くことで、把握しやすくします。<br>
<br></font>
<table style="WIDTH: 289px; HEIGHT: 24px" border="0">
<tbody>
<tr>
<td><font color="#993300">方向 </font></td>
<td><font color="#993300">値</font></td>
<td><font color="#993300"> 値(二進数)</font></td>
</tr>
</tbody>
</table>
<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>
表示オプション
横に並べて表示:
変化行の前後のみ表示: