【邊緣世界】視線、彈道與奇點原理 溫故而知新

視線總結出來的規(guī)律(即起點偏右)
與代碼實際實現(xiàn)其實不太一樣,雖然規(guī)律也是能用的
代碼:
1.數(shù)終點與起點橫豎軸上分別差幾個格子,像圖中兩個終點都是差1個橫格,3個豎格

2.計算K=(橫差-豎差)*2,像這倆就是負四
3.從起點開始檢測,向著終點走一格,當K>0時橫著走,K<0時在豎軸上走。K=0時,如果終點在起點的東面或正北方向,就直接往東走一格,如果終點在起點的西面或正南方向,就往北或南走一格。
像一開始K=-4,所以向北或南走,終點在北面,就往北走。

4.如果是橫著走了,K就減(豎差*4)。豎著走了,K就加(橫差*4)。
像上圖中向北走了,K就加4,K=0。
5.檢測走到的格子上是否有填充率100%的建筑,如果有,就是視線被阻擋。沒有就可以回到第3步驟,直到走到終點。
開始走第二次時,K已經(jīng)等于0,這時就出現(xiàn)了視野不對稱的分歧,像東邊的終點在起點的東面,于是向東走,K減12。最后路途如下:

而左終點,在起點的西面,于是向北走,K加4,這格有墻,所以視線被擋。路途如下:

標簽: