Nim游戏是一种规则比较简单的游戏,本文假设有n个石子,人和电脑轮流拿石子,每一轮最多只能拿走m个石子,至少也要拿走一个石子,不能不拿。本文基于这个规则,使用java写一个简单的ai算法,确保电脑取得游戏的胜利,并在最后附上完整代码。
工具/原料
eclipse
方法/步骤
1
初始化挑战者名字,石子数量n以及每次能拿走的石子数量上限m
2
轮到人拿石子,如果拿走后,没有剩余石子,则电脑获胜,若有剩余石子,则轮到电脑。
3
这一步是该程序的核心,也就是确保电脑获胜的ai算法,如果n % (m + 1) =1,则随机取,等待人犯错,直到剩余石子数remain % (n+1) 不为1为止,如果此时 remain % (n+1) = 0则电脑取m个石子,即不为0也不为1则取remain % (n + 1) - 1个石子
4
从运行结果来分析可以得出,只有人没有按必胜测路犯一次错误,则电脑就必胜了。
5
最后输入N便可结束游戏,否则继续游戏。
上一篇:怎么样学习AI人工智能技术
下一篇:智能小程序开发