Tower-Defense
最佳迷宮路徑(按長度)
假設一個 N×N 正方形的遊戲空間,塔和敵人都佔據 1x1 的區域,那麼在 N×N 正方形迷宮中迫使敵人花費最大總距離路徑的最佳迷宮設置是什麼?
好吧,假設您從左上角開始並在右下角結束,那麼最長的可能路徑將是沿著整個地圖從北到南或從東到西曲折/曲折的路徑。為了好玩,我編寫了以下遞歸程序來找到最長的路徑並產生輸出,無論您輸入的身高、體重的大小如何,它都會得出這個解決方案:
但請注意,這並不意味著最長路徑實際上是砲塔防禦類型遊戲中的最佳策略,因為您必須考慮塔樓成本和升級等因素。通常情況下,最好的情況是簡單地迫使單位盡可能多地聚集在殺傷區。當您考慮到諸如減速塔之類的事情時,它會變得更加複雜。以下是一些範例輸出:
# = wall . = path N = start O = end Width = 10, Height = 5 N#...#.... .#.#.#.##. .#.#.#.#.. .#.#.#.#.# ...#...#.O Width = 10, Height = 10 N#...#.... .#.#.#.##. .#.#.#.#.. .#.#.#.#.# .#.#.#.#.. .#.#.#.##. .#.#.#.#.. .#.#.#.#.# .#.#.#.#.# ...#...#.O
@烏鴉夢想家
是的,我意識到最後一個邊緣情況,我不確定為什麼它還沒有進行最後一次優化,但我確實修改了我的程式碼以包含一個可移動的入口/出口。這是中間入口的範例生成:
...#...#...#...##... .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. .#.#.#.#.#.#.#.##.#. N#.#.#.#.#.#.#.##.#O #..#.#.#.#.#.#.##.## ..#..#.#.#.#.#.##.## <--- .#..#..#.#.#.#.##.## <--- .#.#..#..#.#.#.##.## <--- .#.#.#..#..#.#.##.## <--- need optimization here .#.#.#.#..#..#.##.## <--- .#.#.#.#.#..##..#.## <--- .#.#.#.#.#.####.#.## <--- ...#...#...####...## <---
我刪除了我的程序,因為我找出了錯誤的來源,我稍後會發布一個工作版本,但它需要一些重寫。答案仍然沒有改變,最長的路徑並不那麼有趣,但它是一個有趣的程式練習。