五子棋人机交互基本思路

找空位赋权值法实现人机五子棋
权值表
黑棋(人) 白棋(机)
活 死 活 死
一连 10 5 10 5

二连 20 12 20 12

三连 50 15 50 15

四连 150 100 200 100

存储棋子的数组已经存在
1.创建一个存储权值的数组

2.全局遍历,从左上角往右下角遍历,如果某一位置的棋子为空,则遍历以此位置为中心的八个方向
以右边为例: 如果往右第一个位置为空(没下棋子)则该点赋0的权值,如果不为空,则继续往右 遍历,直到为空为止。判断棋子相连情况给该店赋权值。点的每个方向都要遍历到,取最后的权值之和 为该点的权值。将权值存储到权值数组中。
3.全局遍历一遍后,利用循环找出权值数组中最大的权值
4.创建一个线性链表,将权值最大的点的行和列存储到链表中,通过随机对象随机选择某一个权值最大的 点下白色棋子
5.清空权值数组
6.重复2 3 4 5步,直到分出输赢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值