Advertisement
Guest User

monopoly_roller.py

a guest
Mar 8th, 2014
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.04 KB | None | 0 0
  1. import random
  2.    
  3. def take_turn(player):
  4.     num = player["number"]
  5.     doubles = 0
  6.     rolls = 0
  7.     print "\n\nIt is Player {}'s turn".format(num)
  8.     if player["in_jail"]:
  9.         print "Player {} is currently incarcerated!".format(num)
  10.         bail = raw_input('Enter "bail" if Player {} has payed bail >'.format(num))
  11.         if bail == "bail":
  12.             player["in_jail"] = 0
  13.             return True
  14.    
  15.     while True:
  16.         if doubles:
  17.             if player["in_jail"]:
  18.                 print "Doubles! You're free!"
  19.                 player["in_jail"] = 0
  20.                 return True
  21.             elif doubles > 2:
  22.                 print "Three Doubles. Go to jail!"
  23.                 player["in_jail"] = 1
  24.                 return True
  25.        
  26.         roll = raw_input('Press Enter to roll or "quit" to exit>')
  27.         if roll == "quit":
  28.             return False
  29.         rolls += 1    
  30.        
  31.         die1 = random.randint(1, 6)
  32.         die2 = random.randint(1, 6)
  33.         if die1 == die2:
  34.             print "Player {} rolled double {}s".format(num, die1)
  35.             doubles += 1
  36.         else:
  37.             print "Player {} rolled a {}".format(num, die1 + die2)
  38.             if player["in_jail"] > 2:
  39.                 print "Player {} has been forced to pay bail".format(num)
  40.                 player["in_jail"] = 0
  41.             if player["in_jail"]:
  42.                 player["in_jail"] += 1
  43.            
  44.             go_on = raw_input("Press Enter to continue")
  45.            
  46.             return True
  47.  
  48. def monopoly_roller():
  49.     while True:
  50.         try:
  51.             num_players = int(raw_input("Enter the number of players >"))
  52.             break        
  53.         except ValueError:
  54.             print "Invalid number"
  55.                  
  56.     players = []
  57.     players = [{"number": x + 1, "in_jail": 0} for x in range(num_players)]            
  58.            
  59.     while True:
  60.         for player in players:
  61.             if not take_turn(player):
  62.                 return
  63.                
  64. if __name__ == "__main__":
  65.     monopoly_roller()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement