栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript中的国际象棋游戏

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript中的国际象棋游戏

国际象棋算法如何工作?:

一台国际象棋计算机试图做的是在未来产生五,十或二十步的棋盘位置树。假设任何板位都有大约20个可能的移动,那么一个五层树包含3,200,000个板位。一个10层的树包含大约10,000,000,000,000(10万亿)个职位。计算机可以计算的树的深度由计算机玩游戏的速度控制。最快的象棋计算机每秒可以生成和评估数百万个棋盘位置。

生成树后,计算机需要“评估板的位置”。也就是说,计算机必须查看板上的零件,并确定零件的排列是“好”还是“坏”。它的实现方式是使用评估函数。最简单的功能可能只是计算每边的件数。如果计算机处于白色状态,并且某个板位上有11个白色棋子和9个黑色棋子,则最简单的评估功能可能是:

  11 - 9 = 2

显然,对于国际象棋来说,公式太简单了,因为有些棋子比其他棋子更有价值。因此,公式可以对每种类型的零件施加权重。正如程序员考虑的那样,他或她通过添加诸如棋盘位置,中心控制,国王检查的脆弱性,对手皇后的脆弱性以及大量其他参数之类的东西,使评估功能变得越来越复杂。但是,无论功能变得多么复杂,它都被压缩为一个数字,代表该板位置的“好”。

来源。

要构建自己的能够在基本级别下象棋的javascript“引擎”,请使用CPU
oppo逐步
检查Javascript
Chess

如果向下滚动它包含此的源代码,必须说非常有限,纯粹基于javascript的国际象棋引擎。它还具有可以试用的游戏版本,以及用于构建自己的所有必要资源。

一些有用的资源:

  • 用Javascript首次实现国际象棋引擎
  • Tony Marsland撰写的《国际象棋程序剖析》很好地介绍了当前国际象棋程序的工作方式。
  • 棋空间
  • Paul Verhelst-问题与答案
  • Minimax算法参考书目(更新版本)。
  • Crafty是一个功能强大的程序,其源代码可免费获得,并且对于国际象棋程序而言,其可读性很强。
  • 未完成的工作和对国际象棋程序员的挑战
  • 国际象棋有一个完美的算法吗?如此讨论
  • 计算机如何下象棋我发现的最好的书,描述了象棋AI算法背后的理论


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392384.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号