圖中,帶圓圈的紅色的數字「1」是「目的地」,也就是演算法開始的地方,因為該演算法是從目的地開始往回尋找出發點。在改進後的演算法中,標記值始終是在「1、2、3」這三個數中迴圈,而不是象以前一樣一直增大。在圖中,演算法按「紅、黃、綠、藍、粉紅、青」的順序從目的地往外搜尋,直到遇到「工人」而返回成功,或者填滿能夠到達的空地而返回失敗。
演算法經過這次改進,搜尋的距離就不象原來一樣受限於 8192 步。而且也將地圖所占用的記憶體空間減少到原來的二分之一。
這次改進,除了仔細重寫了 findpath 類以外,程式其餘地方只是將所有的「ushort」替換為「byte」就行了,因為本程式只在涉及地圖的地方使用過「ushort」。
使用 C 開發智慧型手機軟體 推箱子 十四
這是 使用 c 開發智慧型手機軟體 推箱子 系列文章的第十四篇。在這篇文章中,介紹 window errormsgdlg.cs 源程式檔案。這個源程式檔案包含 errormsgdlg 類,該類繼承自 system.windows.forms.form 類,表示推箱子的 錯誤資訊 對話方塊。如下圖所示...
使用 C 開發智慧型手機軟體 推箱子 三
這是 使用 c 開發智慧型手機軟體 推箱子 系列文章的第三篇。在這篇文章中,介紹 common block.cs 源程式檔案。1namespace skyiv.ben.pushbox.common223 24public static char getchar ushort block 2528 2...
使用 C 開發智慧型手機軟體 推箱子 二
在上篇文章 使用 c 開發智慧型手機軟體 推箱子 一 中,我對推箱子程式作了總體介紹。這次,我先介紹 common fcl.cs 源程式檔案。1using system 2using system.io 3using system.drawing 45 namespace skyiv.ben.pus...