メニュー
人気記事
<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&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">↑の図のようなメモリマップになるので、マウスの初期位置は<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>
6752日前
6796日前
6819日前
6821日前
6829日前
6833日前
6836日前
atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!
最近アクセスの多かったページランキングです。話題のページを見に行こう!