我是靠谱客的博主 朴素小懒猪,最近开发中收集的这篇文章主要介绍python尼姆游戏_Python程序设计实验——1.尼姆游戏,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 实验题目

1.1 游戏介绍

尼姆游戏是个著名的游戏,有很多变种玩法。有傻瓜模式与聪明模式。

傻瓜模式:两个玩家轮流从一堆物品中拿走一部分。在每一步中,玩家可以自由选择拿走多少物品,但是必须至少拿走一个并且最多只能拿走一半物品,然后轮到下一个玩家。拿走最后一个物品的玩家输掉游戏。

聪明模式:在聪明模式中,除傻瓜模式的规则外,每次到计算机拿走一部分时,计算机每次拿走足够多的物品使得堆的大小是 2 的幂次方减 1——也就是 3,7,15,31 或 63。除了堆的大小已经是 2 的幂次方减 1,在其他情况下这样走都是符合游戏规则的。在那种情况下,计算机就按游戏规则随机拿走一些。

1.2 实验要求

编写程序,模拟聪明版本的尼姆游戏。

2 实验原理

2.1 计算机回合

使得计算机每次取走的数量会使得堆大小变成2的幂次方减一即可。

可以使用一个while循环,找到物品堆大小的数量处于2的几次方之间。找到这个区间的下限x,每次拿走时:拿走数量 = 物品数量 - (2x - 1)。这样就可以保证每次计算机拿走之后,物品剩下的数量为 2x-1 。

另外,当物品数量正是2的幂次方时,就让计算机随机产生一个符合游戏规则的数字作为拿走数量。

while True:

if pow(2, x) < self.number <= pow(2, x + 1):

break

x = x + 1

if self.number == pow(2, x + 1):

n = random.ra

最后

以上就是朴素小懒猪为你收集整理的python尼姆游戏_Python程序设计实验——1.尼姆游戏的全部内容,希望文章能够帮你解决python尼姆游戏_Python程序设计实验——1.尼姆游戏所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部