科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件用C#开发智能手机软件:推箱子(五)

用C#开发智能手机软件:推箱子(五)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

在上篇文章“使用 C# 开发智能手机软件:推箱子(四)”中,我对Common/FindPath.cs 源程序文件进行了介绍。在这篇文章中介绍经过改进后的 Common/FindPath.cs 源程序文件。

作者:银河 来源:博客园 2007年11月17日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
 上面的源程序已经对搜索算法作了很好的注释。我们还是来看两幅反映算法运行时地图上各标记值的图片吧:

  

c#开发手机游戏推箱子

c#开发手机游戏推箱子

  图中,带圆圈的红色的数字“1”是“目的地”,也就是算法开始的地方,因为该算法是从目的地开始往回寻找出发点。在改进后的算法中,标记值始终是在“1、2、3”这三个数中循环,而不是象以前一样一直增大。在图中,算法按“红、黄、绿、蓝、粉红、青”的顺序从目的地往外搜索,直到遇到“工人”而返回成功,或者填满能够到达的空地而返回失败。

  算法经过这次改进,搜索的距离就不象原来一样受限于 8192 步。而且也将地图所占用的内存空间减少到原来的二分之一。

  这次改进,除了仔细重写了 FindPath 类以外,程序其余地方只是将所有的“ushort”替换为“byte”就行了,因为本程序只在涉及地图的地方使用过“ushort”。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章