国际象棋程序设计二数据结构.doc

国际象棋程序设计 二 数据结构 ? 国际象棋程序设计(二):数据结构2011-05-07 16:24Franois Dominic Laramée/文 上个月我简要介绍了象棋程序设计中所需要的知识,其他信息完全的双人游戏也是一样的。现在我们将讨论一些细节--棋盘的内部表示方法。在棋盘表示方法这个理念上,近三十年内没有多大发展,你可能会觉得很吃惊。它的发展需要智慧的推动,很早就有人提出过绝妙的方案了,但同时也受到制约,因为这些方案需要数据结构的支持,某些数据结构至今还没有实现。尽管如此,我还是会介绍三种数据结构,尽管它们并不是必需的,但是对于提高你的下棋水平是大有帮助的。其中两种可以加快思考速度但是其中一种需要无限多的存储器,另一种可以加快着法产生速度。【译注:分别指后面要提到的置换表、历史表和着法生成预处理的数据库。】在我们继续讨论之前,我提一句格言:无论是象棋还是其他游戏,你通常使用的数据结构,应该是能达到目的的最简单的数据结构。然而象棋程序设计者提出了很多技巧,它们能让程序运行的更快,其中相当多的还适用于其他游戏。如果你对你要设计的游戏不很了解,而且手头的资料很有限,那么你应该好好掌握我所提到的这些技巧,你可以把这些技巧试验到你的程序上。 基本的棋盘表示 在上世纪70年代,个人电脑的存储器是稀有资源,所以棋盘表示得越紧凑越好。很多人会很自信地说:用一个64字节的数组,每个字节表

文档评论(0)

1亿VIP精品文档

相关文档