首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

利用开源HTML5发动机lufylegend.js结合javascript实现的五子棋人机对弈

2013-09-07 
利用开源HTML5引擎lufylegend.js结合javascript实现的五子棋人机对弈前言本文主要介绍利用开源引擎lufyleg

利用开源HTML5引擎lufylegend.js结合javascript实现的五子棋人机对弈
前言    本文主要介绍利用开源引擎lufylegend.js开发基于Html5的游戏--五子棋,主要叙述其详细开发过程。游戏规则

    玩过五子棋的都应该知道五子棋的规则,这里就简单介绍其规则。

    1、传统五子棋的棋具与围棋大致相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断的一排者为胜。    

    2、由于传统五子棋具有不公平性,而现代五子棋禁手规则令一部分棋手望而怯步。于是产生了职业制传统五子棋,职业制传统五子棋虽然准备麻烦,但胜在简单公平,而且难度增加,久而习之,思维活跃。

规则如下:1、准备19×19棋盘两张。2、黑白子数目必须满足。3、第一回合先手只能下一手,其余回合可以下连续两手。4、后手每回合均可以下连续两手。5、每颗子所投的棋盘没有限制。6、只要任意一方在两个棋盘上且同一个回合上连为五子为胜。7、若任意一方在两个棋盘上且不同一个回合上连为五子为负。8、若任意一方在不足两个棋盘上且同一个回合上连为五子为负。综合效应“禁手”思维+“交换”思维+“井字游戏”原理=连珠如:RIF规则、Sakata规则、Yamaguchi规则Tarannikov规则等。为了方面起见,这里只考虑传统打法,也是大多数人喜欢的打法。用到的术语    活五:任意方向的相同颜色棋子连成5个棋子    活四:任意方向的相同颜色棋子连成4个棋子,且两边都没有其他棋子    冲四:任意方向的相同颜色棋子连成4个棋子,且一边没有其他棋子    活三:任意方向的相同颜色棋子连成3个棋子,且两边都没有其他棋子    死三:任意方向的相同颜色棋子连成3个棋子,且一边没有其他棋子    活二:任意方向的相同颜色棋子连成2个棋子,且两边都没有其他棋子    死二:任意方向的相同颜色棋子连成2个棋子,且一边没有其他棋子    单一:任意方向的相同颜色棋子连成1个棋子,且两边都没有其他棋子开发思路     好了,废话不多说,接下来就介绍一下开发思路,首先要明确,当玩家每下一个棋子的时候,如何能教会电脑下棋,也就是如何让电脑知道往哪个地方下子。这里就需要让电脑扫描整个棋盘,分析整个棋型,通过计算得出哪个地方最有可能赢,或者最有可能阻止玩家赢。那么,就需要给每个棋型拟定一个分数,每次玩家下子的时候,就扫描棋盘,给定棋盘每个位置空子(即没有棋子的位置)的分值,然后就下分值最高的那个点。     比如:如果这个地方如果电脑下子,可能构成活四,那么分数+5000,如果玩家可能构成活四,分数+2000。详细过程    我表达不是很好,说的很笼统,直接贴上代码吧。    初始化棋盘      

利用开源HTML5发动机lufylegend.js结合javascript实现的五子棋人机对弈
好了,整个五子棋就开发完成了,有任何疑问,我们可以交流交流

1楼yorhomwang昨天 19:59
楼主绝对高手~顶起
Re: lynnlovemin昨天 23:31
回复yorhomwangn呵呵,共同进步。

热点排行