E企盈小程序营销工具技术服务商 热线:4006-838-530

微信小程序(游戏)五子棋(AI篇)

E企盈小程序直播系统

WXRUI体验二维码如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!DEMO下载五子棋AI篇DEMO效果图原理将棋盘中能够胜利的五子连珠方法遍历一个数组;当AI持棋时,遍历棋盘中所有棋子的空位;如果用户落子该位置,给用户该位置的五连珠方式进行加分:1连10分,2连20分,3连40分,4连80分;如果AI落子该位置,给AI该位置的五连珠方式进行加分:1连15分,2连25分,3连45分,4连85分;最后对该位置的分值进行比较,取最大分值位置的坐标,AI在最大分值位落子。AI代码computerAI(){    var playerScore = [],computerScore = [];    var max = 0,u = 0, v = 0;    for (var i = 0; i this.type; i++){      playerScore[i] = [];      computerScore[i] = [];      for (var j = 0; j this.type; j++){        playerScore[i][j] = 0;        computerScore[i][j] = 0;      }    }    for (var x = 0; x this.type; x++) {      for (var y = 0; y this.type; y++) {        var po = this.checkPosition(x, y);        if (po.status == 0){          for (var k = 0; k this.count; k++) {            if (this.WIN_ARRAY[x][y][k]){              if (this.player[k] == 1){                playerScore[x][y] += 10;              } else if (this.player[k] == 2){                playerScore[x][y] += 20;              } else if (this.player[k] == 3) {                playerScore[x][y] += 40;              } else if (this.player[k] == 4) {                playerScore[x][y] += 80;              }              if (this.computer[k] == 1) {                computerScore[x][y] += 15;              } else if (this.player[k] == 2) {                computerScore[x][y] += 25;              } else if (this.player[k] == 3) {                computerScore[x][y] += 45;              } else if (this.player[k] == 4) {                computerScore[x][y] += 85;              }            }          }          if (playerScore[x][y] max){            max = playerScore[x][y];            u = x;            v = y;          } else if (playerScore[x][y] == max){            if (computerScore[x][y] computerScore[u][v]){              u = x;              v = y;            }          }          if (computerScore[x][y] max) {            max = computerScore[x][y];            u = x;            v = y;          } else if (computerScore[x][y] == max) {            if (playerScore[x][y] playerScore[u][v]) {              u = x;              v = y;            }          }        }      }    }    var point = this.checkPosition(u,v);        if(point.status == 0){      this.oneStep(point);      point.status = -1;      this.COMPUTER_ARRAY.push(point);      for (var i = 0; i this.count; i++) {        if (this.WIN_ARRAY[point.pointX][point.pointY][k]) {          this.computer[k]++;          this.player[k] = 100;        }      }      if (point.status == -1 && this.COMPUTER_ARRAY.length = this.CHESS_LEN && this.checkWin(point, this.COMPUTER_ARRAY)) {        wx.showToast({ title: ‘白棋胜利!’ });        this.isStart = false;      }      if (this.isStart) {        this.isWho = !this.isWho;      }    }  }注意此种方式实现的算法AI的防守比较重,进攻性不强,有待优化。而且很简单就能给AI设置陷阱而取得胜。WXRUI体验二维码如果文章对你有帮助的话,请打开微信扫一下二维码,点击一下广告,支持一下作者!谢谢!其他我的博客,欢迎交流!我的CSDN博客,欢迎交流!微信小程序专栏前端笔记专栏微信小程序实现部分高德地图功能的DEMO下载微信小程序实现MUI的部分效果的DEMO下载微信小程序实现MUI的GIT项目地址微信小程序实例列表前端笔记列表游戏列表

赞(0) 打赏
未经允许不得转载:E企盈小程序开发-热线:4006-838-530 » 微信小程序(游戏)五子棋(AI篇)
分享到: 更多 (0)
E企盈小程序直播营销卖货系统

评论 抢沙发

E企盈小程序开发

联系我们联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏