- 307 名前:名前は開発中のものです。 mailto:sage [2005/08/05(金) 21:43:26 ID:ylhykbF3.net]
- >>302
こんな方法もある。各方向に16進の数字を割り当てて、 上:01、右上:02、右:04、右下:08 下:10、左下:20、左:40、左上:80 Y字に移動可能:右上+下+左上=02+10+80=92 X字に移動可能:右上+右下+左下+左上=02+08+20+80=AA という表現をして、自分の来た方向のビットを抜いて 進める方向を決めるという方法だ。制限のない移動なら これだけでOKだが、「直進しかできない」といった 移動制限用のあるマスではこのまま使えないので、 マスに移動制限用の関数を設定しておく。元ネタを 再現するだけなら1つのマップにつき4つ程度だから 大丈夫だが、新たにマップを作る場合は結構面倒だ。 だから、拡張性を考えるのなら、>>300と同じように 「来た方向」と「移動可能な方向」を用意して ビット表記なりテンキー表記なりで列挙しておけば、 マップの移動に関しては大丈夫だろう。 (※2桁なので、データが>>300の表記の2倍になる) これらは、>>287のサイトからの情報を元に作って いるので、3以降に対応できるかは不明だ。詳しくは 中の人に聞いてくれ。<丸投げ(w
|

|