多语言展示
当前在线:1466今日阅读:26今日分享:39

java编写Nim游戏AI算法

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便可结束游戏,否则继续游戏。

推荐信息