翻转棋java实现代码及ai_黑白棋中的 AI

到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都在最后几周,加上数据结构的课程设计就没有时间做这个啦~

刚开始打算做成UWP应用的,可是网上的教程都是C#,并且用C++做的话某些功能和C#不一样,所以就这样拖了好多周,省赛前一点儿也没有开始做,等到省赛结束之后,别人都差不多完成啦!而我才开始准备查找资料……

然而一周过去了,进度还是0%。噫,1%吧!

眼看就要开始验收了,算了,还是用最简单的 EasyX 做吧!以后的 C# 课程设计再考虑 UWP。

周一开始敲代码,整整一周的课余时间,都在努力做这个,现在想起来,那个时候真的好累唉,居然没有感觉到~😔

最初做这个游戏是因为想起来 秦时明月中的 墨攻棋阵,也就是黑白棋,努力还原动漫中的场景,周末的时候终于完成了。

先附图:

e68ddd6129e8cf8925f3cc4f6c0203ba.png

a449b3c02b8c8373811cd85312aa289e.png

8ced59a2995f4d4edc191720a05b2bb3.png

dccebe68103a2c973ac8e7c92407b8dc.png

怎么说千千也都是新手呢!感觉做的还算满意吧!

人机对战中有三种模式哦!

简单、中等、困难

那么,接下来,我们一起来看看黑白棋中的AI是如何实现的。

对于我们来说,下棋的时候总是想着如何才能对自己最有利,当前最优?还是全局最优?

如果我们往后几步考虑的话,那便是全局最优啦!那当我们只看眼下哪一个位置的落子对自己最有利,这样便是当前最优,也是局部最优。

在黑白棋中,我们同样可以采用这样的思想。

首先来看看简单AI,因为简单呗,所以它返回的仅仅只是当前的最优解,再怎么说也不能让它随机返回坐标对吧!

那局部最优解又是以什么为评测标准的呢?

嗯,我们采用的是能够转换对方棋子最多的位置,这个可不是行动力哦!

POINT2 Easy()//人机对战简单AI

{

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值