剪刀石头布机器人算法

10 投票
4 回答
7080 浏览
提问于 2025-04-17 10:03

在我学校,老师正在举办一个剪刀石头布的机器人比赛。我会用Python编程,但我不知道怎么编写一个比随机选择出拳更有胜算的机器人。我觉得可以记录所有之前的出拳,然后寻找一些规律来反击对手的攻击。我这样想对吗?有没有什么好的建议?

4 个回答

3

如果你是在和人类对战,那你就走对了方向。记录之前的出招是非常重要的。这里有两篇文章对你会很有帮助。第一篇是如何在剪刀石头布中获胜,第二篇是维基百科关于策略和算法的介绍。

3

石头剪刀布编程比赛网站上有很多参赛程序(甚至是用Python写的)。

如果这是你的学校作业,可能会被认为是作弊,因为所有提交的代码都是公开的。不过,其他学生也能看到这些代码。

7

在石头剪子布这个游戏中,有一个结论就是随机的机器人会在每个等级的中间水平
所以,我会创建一组机器人,每个机器人计算一种策略,并在后台同时运行。每轮游戏时,每个机器人都会“出拳”,然后检查自己如果出这一拳是赢了还是输了。每个机器人会记录自己如果参与这场游戏的话,赢了多少场,输了多少场。
其中一个机器人会是随机出拳的攻击者。

每次轮到你出拳时,选择到目前为止赢得最多的那个机器人 [贪婪策略] - 然后使用它。

采用这种方法,你可以确保在你的等级中处于中上水平![当然需要足够多的游戏轮次]

撰写回答