我在Python中运行一个石头剪刀蜥蜴Spock游戏 . 我希望它用不同的机器人玩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")
主要方法询问你想要两个玩家是谁,然后将你的第一选择设置为 p1
,将你的第二选择设置为 p2
如果您需要更多代码,请告诉我们 . 我认为这应该足够但我并不积极 . 谢谢
2 回答
虽然我喜欢你在这里使用物品,但我认为你可以做的比你更多的继承,并进一步滥用干 . 试试这个:
当你调用你的游戏方法时,你将Rock分配给实例名称,然后返回它,但基本上相当于:
如果您希望它变化以便您可以正确建模,则需要每次都返回随机选择的元素 .
例如靠近代码顶部:
在你的
play
方法中: