2010年10月29日 星期五

遊戲座標求距離的公式

這篇挺無聊的,沒事把它寫下來....
因為在玩一個網路遊戲,世界地圖上是用方格座標為單位...
為了整理敵軍各陣營距離我的距離,整理一個Excel...
我的座標例如是:Xa,Ya
對方座標例如是:Xb,Yb
原本很簡單的利用
| Xb-Xa | + |Yb-Ya|這樣的簡單公式計算...
後來發現,如下圖:
例如我的座標是:5,5
按照上面的公式:藍色外框斜角的這幾格(4,6),帶入公式 |4-5| + |6-5| 答案會算成「2」
(如果只能走直角,這算式是對的!!)
但遊戲卻是把九宮格周圍的八格都算是只須『一步』,那公式要怎麼寫呢??
推了半天,終於....
公式應該是:
Min( |Xb-Xa| , |Yb-Ya|) + | |Xb-Xa| - |Yb-Ya| |
(備註:兩邊直線表示取"絕對值",Mix = 兩數比較並取出比較小的數)
如果是Excel公式:『=MIN(ABS(Xb-Xa),ABS(Yb-Ya))+ABS(ABS(Xb-Xa)-ABS(Yb-Ya))』

給大家參考一下,會用到的人應該不多,能找到的更少,有看到的超少,看得懂的.....
如果對你有幫助,那真的機率很小,那就留個言跟我說一下吧^^

沒有留言:

張貼留言