I'm currently writing code for a dice game in Python 3.6 I understand my coding is a little off in this, however, I'm really just wondering how to start my while loop. The instructions of the game are as follows...
A human player plays against the computer.
Player 1 rolls until they either win, decide to hold, or roll a 1.Same for player 2.
They take turns rolling two dice, and the totals of the dice are added together Unless a 1 is rolled.
If a one 1 is rolled, you get no score added and it's the next person's turn. If two 1's are rolled, you lose all of your points and its the next person's turn.
The first player to 100 score, wins the game.
My game works fine until Player 1 and Player 2 both hit "y" to hold back to back. Then the game quits switching between player's until "n" to not hold is hit again. Any idea why? I was told I need variables to decide who's turn it is but I'm not sure how to incorporate them into my code. Any help would be appreciated.
import random
def main():
print("Welcome to the Two Dice Pig Game. You are Player 1!")
Player1 = 0
Player2 = 0
while(Player1<100 and Player2<100):
p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Player1+=p1dice+p1dice2
print("Player 1 dice 1 =",p1dice)
print("Player 1 dice 2 =",p1dice2)
print("Player 1 dice total =",Player1)
print("Does player 1 want to hold?")
choose1 = input("Enter y for yes or n for no.")
if(choose1=="n"):
p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Player1+=p1dice+p1dice2
print("Player 1 dice 1 =",p1dice)
print("Player 1 dice 2 =",p1dice2)
print("Player 1 dice total =",Player1)
if(Player1>=100):
print("Player 1 wins!")
else:
print("Does player 1 want to hold?")
choose1 = input("Enter y for yes or n for no.")
while(choose1=="y"):
print("It's player 2's turn.")
p2dice=random.randrange(1,7)
p2dice2=random.randrange(1,7)
Player2+=p2dice+p2dice2
print("Player 2 dice 2 =",p2dice)
print("Player 2 dice 2 =",p2dice2)
print("Player 2 dice total =",Player2)
print("Does player 2 want to hold?")
choose2 = input("Enter y for yes or n for no.")
while(choose2=="n"):
p2dice=random.randrange(1,7)
p2dice2=random.randrange(1,7)
Player2+=p2dice+p2dice2
print("Player 2 dice 2 =",p2dice)
print("Player 2 dice 2 =",p2dice2)
print("Player 2 dice total =",Player2)
print("Does player 2 want to hold?")
choose2 = input("Enter y for yes or n for no.")
while(choose2=="y"):
print("It's player 1's turn.")
p1dice=random.randrange(1,7)
p1dice2=random.randrange(1,7)
Player1+=p1dice+p1dice2
print("Player 1 dice 2 =",p1dice)
print("Player 1 dice 2 =",p1dice2)
print("Player 1 dice total =",Player1)
print("Does player 1 want to hold?")
choose2 = input("Enter y for yes or n for no.")
main()
while(choose1=="y")loop is entered, nothing can changechoose1, so it'll never exit that loop. You might want to try to fix that part of the logic and see if you still have issues. - Random Davis