Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- def take_turn(player):
- num = player["number"]
- doubles = 0
- rolls = 0
- print "\n\nIt is Player {}'s turn".format(num)
- if player["in_jail"]:
- print "Player {} is currently incarcerated!".format(num)
- bail = raw_input('Enter "bail" if Player {} has payed bail >'.format(num))
- if bail == "bail":
- player["in_jail"] = 0
- return True
- while True:
- if doubles:
- if player["in_jail"]:
- print "Doubles! You're free!"
- player["in_jail"] = 0
- return True
- elif doubles > 2:
- print "Three Doubles. Go to jail!"
- player["in_jail"] = 1
- return True
- roll = raw_input('Press Enter to roll or "quit" to exit>')
- if roll == "quit":
- return False
- rolls += 1
- die1 = random.randint(1, 6)
- die2 = random.randint(1, 6)
- if die1 == die2:
- print "Player {} rolled double {}s".format(num, die1)
- doubles += 1
- else:
- print "Player {} rolled a {}".format(num, die1 + die2)
- if player["in_jail"] > 2:
- print "Player {} has been forced to pay bail".format(num)
- player["in_jail"] = 0
- if player["in_jail"]:
- player["in_jail"] += 1
- go_on = raw_input("Press Enter to continue")
- return True
- def monopoly_roller():
- while True:
- try:
- num_players = int(raw_input("Enter the number of players >"))
- break
- except ValueError:
- print "Invalid number"
- players = []
- players = [{"number": x + 1, "in_jail": 0} for x in range(num_players)]
- while True:
- for player in players:
- if not take_turn(player):
- return
- if __name__ == "__main__":
- monopoly_roller()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement