0
我有一個網格(4x6),其中包含較小的瓷磚/塊。 當有人在網格中移動時,我需要跟蹤他們到達的具體位置。 所以,如果我人數瓷磚跟蹤動態導航
1- 2- 3- 4- 5- 6
7- 8- 9-10-11-12
13-14-15-16-17-18
現在,如果我在10,我可以搬到4,9,11,0r 16
我應該如何跟蹤呢?我可以使用什麼數據結構來存儲這些信息?
我有一個網格(4x6),其中包含較小的瓷磚/塊。 當有人在網格中移動時,我需要跟蹤他們到達的具體位置。 所以,如果我人數瓷磚跟蹤動態導航
1- 2- 3- 4- 5- 6
7- 8- 9-10-11-12
13-14-15-16-17-18
現在,如果我在10,我可以搬到4,9,11,0r 16
我應該如何跟蹤呢?我可以使用什麼數據結構來存儲這些信息?
3選項。這樣做的
OOP方式:
創建一個包含內部的二維數組的網格類。它可以用來創建方法,如surrounding(int x, int y)
這將返回周圍的瓷磚。
二維數組。
像OOP的方式,但有點混亂。你會從(x-1,y),(x + 1,y),(x,y + 1),(x,y - 1)得到周圍的貼圖。
1D陣列。
就像你在你的例子。這可能會更難以使用,我不會推薦它。如果你確實想用這種方式,你可能必須爲網格的'寬度'設置另一個int變量。在提供的示例中,它是6,所以周圍的瓦片將是:
(1-6),(1-1),(i + 1),(i + 6)。
我強烈推薦二維數組或網格選項。我喜歡的網格非常好,如果你肛門儘可能幻想。
你想追蹤這個人到底在哪裏,或者他們能去哪裏? – Kevin
他去過哪裏。 – 12rad
只需使用一個堆棧。在每次移動後推動堆疊。 –