手机版

微信小程序五子棋游戏人工智能实现方法【附演示源码下载】

时间:2021-08-27 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了微信小程序五子棋游戏人工智能实现方法。分享给大家供大家参考,具体如下:

演示下载

五子棋人工智能篇演示

效果图

原理

1.将棋盘中能够胜利的五子连珠方法遍历一个数组;2.当人工智能持棋时,遍历棋盘中所有棋子的空位;3.如果用户落子该位置,给用户该位置的五连珠方式进行加分:1连10分,2连20分,3连40分,4连80分;4.如果人工智能落子该位置,给人工智能该位置的五连珠方式进行加分:1连15分,2连25分,3连45分,4连85分;5.最后对该位置的分值进行比较,取最大分值位置的坐标,人工智能在最大分值位落子。

人工智能代码

computerAI(){ var playerScore=[],computerScore=[];var max=0,u=0,v=0;for(var I=0;我。这种类型;I){玩家核心[I]=[];电脑评分[I]=[];for(var j=0;j。这种类型;j){玩家核心[I][j]=0;计算机得分[I][j]=0;} } for(var x=0;x this . typex){ for(var y=0;y this . typey){ var po=this . check position(x,y);if(po。status==0){ for(var k=0;k这个。计数;k ) { if (this .WIN _ ARRAY[x][y][k]){ if(this。player[k]==1){ players core[x][y]=10;} else if(这个。玩家[k]==2){玩家核心[x][y]=20;} else if(这个。player[k]==3){ players core[x][y]=40;} else if(这个。player[k]==4){ players core[x][y]=80;}如果(这个。计算机[k]==1){计算机分数[x][y]=15;} else if(这个。玩家[k]==2){电脑评分[x][y]=25;} else if(这个。玩家[k]==3){电脑评分[x][y]=45;} else if(这个。玩家[k]==4){电脑评分[x][y]=85;} } } if(players core[x][y]max){ max=players core[x][y];u=x;v=y;} else if(玩家核心[x][y]==max){ if(电脑评分[x][y]电脑评分[u][v]){ u=x;v=y;} } if(计算机分数[x][y]max){ max=计算机分数[x][y];u=x;v=y;} else if(电脑评分[x][y]==max){ if(玩家核心[x][y]玩家核心[u][v]){ u=x;v=y;} } } } } var point=this。检查位置(u,v);if(点。status==0){ this。一步(点);重点。状态=-1;这个. COMPUTER_ARRAY.push(点);for(var I=0;我数这个。我){如果(这个. WIN _ ARRAY[点。PointX][点。PointY][k]){这个。计算机[k];这个。player[k]=100;} } if (point.status==-1 this .COMPUTER_ARRAY.length=this .CHESS _ LEN this.checkWin(点,这个. COMPUTER _ ARRAY)){ wx。ShowToast({ title : '白棋胜利!'});this . isstart=false } if(this . isstart){ this . iswho=!这个。是谁;} } }注意

此种方式实现的算法人工智能的防守比较重,进攻性不强,有待优化。而且很简单就能给人工智能设置陷阱而取得胜。

希望本文所述对大家微信小程序开发有所帮助。

版权声明:微信小程序五子棋游戏人工智能实现方法【附演示源码下载】是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。