我正在运行一个石头剪刀布蜥蜴在Python斯波克游戏。我想让它和不同的机器人玩5回合。我遇到的问题是,当我尝试在我的主要功能循环轮只是打印出相同的比赛5次,即使机器人随机选择其移动。你知道吗
for循环:
for x in range(0, 5):
p1move = p1.play()
p2move = p2.play()
print(p1move.compareTo(p2move))
游戏方法:
class Human(Player):
if decisionint == 1:
def play(hum1):
hum1 = Rock
return hum1
机器人程序示例:
class RandomBot(Player):
num = randint(1, 5)
if num == 1:
def play(rando1):
rando1 = Rock
return rando1
else:
if num == 2:
def play(rando2):
rando2 = Paper
return rando2
岩石等级:
class Rock(Element):
def compareTo(_name):
if _name == Lizard:
global p1wins
p1wins += 1
print("Rock crushes Lizard, Win")
main方法询问您希望这两个玩家是谁,然后将第一个选项设置为p1
,第二个选项设置为p2
如果你需要更多的代码让我知道。我认为这应该足够了,但我不肯定。 谢谢
虽然我喜欢你在这里使用对象,但我认为你可以在继承方面做得更多,并进一步滥用DRY。试试这个:
调用play方法时,将Rock指定给instance name,然后返回它,但基本上相当于:
如果您想使其发生变化以便可以正确地对其进行建模,那么每次都需要返回一个随机选择的元素。你知道吗
例如,在代码顶部附近:
在
play
方法中:相关问题 更多 >
编程相关推荐