如何为python的数字猜测游戏添加第二个玩家?
嗨,我不确定如何添加第二个玩家的数字猜测游戏,即在玩家1作出猜测,然后玩家2作出猜测。就像在每一次猜测之间。我只能这样做,让玩家2猜后,玩家1猜完成他的所有选择(代码如下),如果有人能够告诉我,我正在寻找的是可能的,或者如果有任何建议,将不胜感激。提前谢谢如何为python的数字猜测游戏添加第二个玩家?,python,Python,嗨,我不确定如何添加第二个玩家的数字猜测游戏,即在玩家1作出猜测,然后玩家2作出猜测。就像在每一次猜测之间。我只能这样做,让玩家2猜后,玩家1猜完成他的所有选择(代码如下),如果有人能够告诉我,我正在寻找的是可能的,或者如果有任何建议,将不胜感激。提前谢谢 def main(): import random n = random.randint(1, 99) chances = 5 guess = int(input("Player 1 please e
def main():
import random
n = random.randint(1, 99)
chances = 5
guess = int(input("Player 1 please enter an integer from 1 to 99, you have 5 chances: "))
while n != "guess":
chances -=1
if chances ==0:
print("out of chances")
break
if guess < n:
print("guess is low")
guess = int(input("Enter an integer from 1 to 99: "))
elif guess > n:
print ("guess is high")
guess = int(input("Enter an integer from 1 to 99: "))
else:
print("you guessed it")
break
import random
n1 = random.randint(1, 99)
chances1 = 0
guess1 = int(input("Player 2 please enter an integer from 1 to 99, you have 5 chances "))
while n1 != "guess":
chances1 +=1
if chances1 ==5:
print("out of chances")
break
if guess1 < n1:
print("guess is low")
guess1 = int(input("Enter an integer from 1 to 99: "))
elif guess > n1:
print ("guess is high")
guess1 = int(input("Enter an integer from 1 to 99: "))
else:
print("you guessed it")
break
retry=input("would you like to play again? (please choose either 'yes' or 'no')")
if retry == "yes":
main()
else:
print("Okay. have a nice day! :D ")
main()
def main():
随机输入
n=random.randint(1,99)
机会=5
guess=int(输入(“玩家1请输入1到99之间的整数,你有5次机会:”)
而n!=“猜测”:
机会-=1
如果机会==0:
打印(“机会不足”)
打破
如果猜测n:
打印(“猜测很高”)
guess=int(输入(“输入1到99之间的整数:”)
其他:
打印(“你猜对了”)
打破
随机输入
n1=随机。随机数(1,99)
机会1=0
猜1=int(输入(“玩家2请输入1到99之间的整数,你有5次机会”))
而n1!=“猜测”:
机会1+=1
如果信道1==5:
打印(“机会不足”)
打破
如果1n1:
打印(“猜测很高”)
guess1=int(输入(“输入一个从1到99的整数:”)
其他:
打印(“你猜对了”)
打破
重试=输入(“您想再次播放吗?(请选择“是”或“否”))
如果重试==“是”:
main()
其他:
打印(“好的,祝你有愉快的一天!:D”)
main()
为了实现这一点,我将使用while循环和变量来检测是哪一位玩家轮换。像这样:
import random
random_number = random.randint(1, 99)
player_chances = 5
current_player = 1
while player_chances > 0:
if current_player == 1:
guess = int(input("Player 1 please enter an integer from 1 to 99, {} chances left. ".format(player_chances)))
player_chances -= 1
current_player = 2
if guess < random_number:
print("->guess is too low")
elif guess > random_number:
print("->guess is too high")
else:
print("CONGRATULATIONS! You guessed it! Player 1 wins!")
break
else:
guess = int(input("Player 2 please enter an integer from 1 to 99, {} chances left. ".format(player_chances)))
player_chances -= 1
current_player = 1
if guess < random_number:
print("->guess is too low")
elif guess > random_number:
print("->guess is too high")
else:
print("CONGRATULATIONS! You guessed it! Player 1 wins!")
break
print("####")
print("Out of chances! The number was {}.".format(random_number))
print("####")
随机导入
随机数=random.randint(1,99)
玩家机会=5
当前玩家=1
当玩家机会>0时:
如果当前_播放器==1:
guess=int(输入(“玩家1请输入一个1到99之间的整数,左{}次机会。”。格式(玩家_次机会)))
玩家机会-=1
当前玩家=2
如果猜测<随机数:
打印(“->猜测太低”)
elif guess>随机数:
打印(“->猜测太高”)
其他:
打印(“恭喜!你猜对了!玩家1赢了!”)
打破
其他:
guess=int(输入(“玩家2请输入一个1到99之间的整数,左{}次机会。”。格式(玩家_次机会)))
玩家机会-=1
当前玩家=1
如果猜测<随机数:
打印(“->猜测太低”)
elif guess>随机数:
打印(“->猜测太高”)
其他:
打印(“恭喜!你猜对了!玩家1赢了!”)
打破
打印(“######”)
打印(“不可能!数字是{}.”格式(随机数))
打印(“######”)
为了实现这一点,我将使用while循环和变量来检测是哪一位玩家轮换。像这样:
import random
random_number = random.randint(1, 99)
player_chances = 5
current_player = 1
while player_chances > 0:
if current_player == 1:
guess = int(input("Player 1 please enter an integer from 1 to 99, {} chances left. ".format(player_chances)))
player_chances -= 1
current_player = 2
if guess < random_number:
print("->guess is too low")
elif guess > random_number:
print("->guess is too high")
else:
print("CONGRATULATIONS! You guessed it! Player 1 wins!")
break
else:
guess = int(input("Player 2 please enter an integer from 1 to 99, {} chances left. ".format(player_chances)))
player_chances -= 1
current_player = 1
if guess < random_number:
print("->guess is too low")
elif guess > random_number:
print("->guess is too high")
else:
print("CONGRATULATIONS! You guessed it! Player 1 wins!")
break
print("####")
print("Out of chances! The number was {}.".format(random_number))
print("####")
随机导入
随机数=random.randint(1,99)
玩家机会=5
当前玩家=1
当玩家机会>0时:
如果当前_播放器==1:
guess=int(输入(“玩家1请输入一个1到99之间的整数,左{}次机会。”。格式(玩家_次机会)))
玩家机会-=1
当前玩家=2
如果猜测<随机数:
打印(“->猜测太低”)
elif guess>随机数:
打印(“->猜测太高”)
其他:
打印(“恭喜!你猜对了!玩家1赢了!”)
打破
其他:
guess=int(输入(“玩家2请输入一个1到99之间的整数,左{}次机会。”。格式(玩家_次机会)))
玩家机会-=1
当前玩家=1
如果猜测<随机数:
打印(“->猜测太低”)
elif guess>随机数:
打印(“->猜测太高”)
其他:
打印(“恭喜!你猜对了!玩家1赢了!”)
打破
打印(“######”)
打印(“不可能!数字是{}.”格式(随机数))
打印(“######”)
为了以一种高效的方式实现这一点,我会创建这样一个player类:
class Player:
def __init__(self,name):
self.name = name
self.getNumberOfTrys = 0
self.guess = 0
def getNumberOfTrys(self):
return self.getNumberOfTrys
def getPlayerName(self):
return self.name
def play(self):
try:
self.guess = int(input("Enter an integer from 1 to 99: "))
self.getNumberOfTrys+=1
return self.guess
except Exception as error:
print(error)
return None
这个类负责创建具有尝试次数、猜测和姓名的玩家
逻辑将遍历玩家列表(您可以添加任意数量的玩家),并按如下方式执行游戏逻辑:
import random
p1 = Player("Player 1")
p2 = Player("Player 2")
players = []
players.append(p1)
players.append(p2)
n1 = random.randint(1, 99)
NUMBER_OF_TRIES = 5
print(n1)
while players:
for player in players:
print(player.getPlayerName() + " turn, you have " + str(NUMBER_OF_TRIES - player.getNumberOfTries) + " turns left")
guess = player.play()
if guess < n1:
print("guess is low")
elif guess > n1:
print ("guess is high")
else:
print(player.getPlayerName()," you guessed it")
players.clear()
break
if player.getNumberOfTries == NUMBER_OF_TRIES:
print(player.getPlayerName(), " out of chances")
players.remove(player)
随机导入
p1=玩家(“玩家1”)
p2=玩家(“玩家2”)
玩家=[]
玩家。附加(p1)
玩家。附加(p2)
n1=随机。随机数(1,99)
尝试次数=5
打印(n1)
而玩家:
对于玩家中的玩家:
打印(player.getPlayerName()+“转身,你有”+str(尝试次数-player.getnumbernoftries)+“左转”)
猜=player.play()
如果猜测n1:
打印(“猜测很高”)
其他:
打印(player.getPlayerName(),“你猜对了”)
玩家。清除()
打破
如果player.getNumberOfTries==尝试次数:
打印(player.getPlayerName(),“机会不足”)
玩家。移除(玩家)
基本上,创建一个玩家列表,然后检查每个玩家并应用游戏逻辑(获取输入、比较和检查尝试次数)
当一个玩家输了之后,我们应该把他从名单中删除,如果一个玩家赢了,我们可以清除名单,从而退出游戏
以下是完整的代码:
class Player:
def __init__(self,name):
self.name = name
self.getNumberOfTries = 0
self.guess = 0
def getNumberOfTries(self):
return self.getNumberOfTries
def getPlayerName(self):
return self.name
def play(self):
try:
self.guess = int(input("Enter an integer from 1 to 99: "))
self.getNumberOfTries+=1
return self.guess
except Exception as error:
print(error)
return None
import random
p1 = Player("Player 1")
p2 = Player("Player 2")
players = []
players.append(p1) #addding player
players.append(p2)
n1 = random.randint(1, 99)
NUMBER_OF_TRIES = 5
print(n1) #for debug
while players:
for player in players:
print(player.getPlayerName() + " turn, you have " + str(NUMBER_OF_TRIES - player.getNumberOfTries) + " turns left")
guess = player.play()
if guess < n1:
print("guess is low")
elif guess > n1:
print ("guess is high")
else:
print(player.getPlayerName()," you guessed it")
players.clear() # exit game
break #exit loop
if player.getNumberOfTries == NUMBER_OF_TRIES:
print(player.getPlayerName(), " out of chances")
players.remove(player)
职业玩家:
定义初始化(self,name):
self.name=名称
self.getNumberOfTries=0
self.guess=0
def getNumberOfT