程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 用C#開發智能手機軟件:推箱子(五)(2)

用C#開發智能手機軟件:推箱子(五)(2)

編輯:關於C語言

上面的源程序已經對搜索算法作了很好的注釋。我們還是來看兩幅反映算法運行時地圖上各標記值的圖片吧:

圖中,帶圓圈的紅色的數字“1”是“目的地”,也就是算法開始的地方,因為該算法是從目的地開始往回尋找出發點。在改進後的算法中,標記值始終是在“1、2、3”這三個數中循環,而不是象以前一樣一直增大。在圖中,算法按“紅、黃、綠、藍、粉紅、青”的順序從目的地往外搜索,直到遇到“工人”而返回成功,或者填滿能夠到達的空地而返回失敗。

算法經過這次改進,搜索的距離就不象原來一樣受限於 8192 步。而且也將地圖所占用的內存空間減少到原來的二分之一。

這次改進,除了仔細重寫了 FindPath 類以外,程序其余地方只是將所有的“ushort”替換為“byte”就行了,因為本程序只在涉及地圖的地方使用過“ushort”。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved