http://soft.withu.com/hrd

“诸葛亮智算华容,关云长义释曹操”
《三国演义》写赤壁战前,诸葛亮算定曹操必败走华容,且夜观天象,曹操不当身亡,考虑到曹操与关羽有恩,于是派关云长把守华容道,留个人情与关羽做。
至于曹操能否逃脱,就看你的了。

返回下载页面


编程心得:
本游戏完全是用来做样本的,本来没有啥使用价值。近来退居二线了,闲暇之时就稍微完善了下,权且充个数吧。前段时间在网上看到些同类游戏,也有些包含源程序的。但我试了下后,大多操作不是很方便。因为本游戏除选择对象人物外,还可能需要选择方向,因此很多同类游戏有时需要点击两下才能走一步。本游戏样本的原意仅仅为是演示下,单击就可以实现的一种思路,当然可能不是最好的思路,算抛砖引玉吧。

源程序中包含了主要的注释,下面将源程序中部分思路解释下:

1. 判断是否能走的依据 2. 怎样实现单击操作
本游戏采用的判断依据是:虚走一步后,盘面的有效空格为 2 。虚走一步是AI算法中常用的一种思路。但虚走一步可能导致人物超出本来的位置范围,而出现一些问题,例如数组越界等,需要千万小心。本例判断了所有的人物是否能走,如果只判断空格边的人物,不知道是否会效率更高些。这点没有仔细分析,但显然差别不会很大。 游戏中难免出现同一人物同时有两个方向可以走的情况。本来作为游戏,计算机是不应该干涉玩家行为的,所以并没有绝对的判断依据。但本游戏经过分析,由于一次只能走一格,所以一个人物有两个去向的情况中,一种情况是人物走回头路的可能性极大。根据这一发现,只要程序中限制人物尽量不走回头路,就可以实现单击操作了。至于这一判断依据是否妥当,请在游戏中测试下了。当然这不一定是最好的解决方案,仅供参考。
3. 人工智能在本游戏的应用  
(未完)
对AI感兴趣的朋友请先参考下面的本人关于象棋AI的文章。
 
   
   


另一篇原创: 象棋游戏的编程心得

Copyright (c) WithU.com , 2001

Webmaster E-mail: musix@withu.com