Advertisement
Norbysweg

Untitled

Sep 15th, 2023
14
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.80 KB | None | 0 0
  1. START=200
  2. import random
  3. class Player:
  4.  
  5. def __init__(self,name):
  6. self.name=name
  7. self.pos=0
  8. self.balance=1500
  9.  
  10. def move(self,steps):
  11. self.pos+=steps
  12.  
  13. def pay(self,amount):
  14. self.balance-=amount
  15.  
  16. def get(self,amount):
  17. self.balance+=amount
  18.  
  19. def pay_to(self,player, amount):
  20. self.balance-=amount
  21. player.get(amount)
  22.  
  23. def roll(self):
  24. a,b = random.randint(1,6), random.randint(1,6)
  25. return a,b
  26.  
  27. @property
  28. def balance(self):
  29. return self.balance
  30. @property
  31. def pos(self):
  32. return self.pos
  33. @property
  34. def name(self):
  35. return self.name
  36.  
  37. @pos.setter
  38. def pos(self, where, start):
  39. if start and self.pos>where:
  40. self.balance+=START
  41. self.pos=where
  42.  
  43. @name.setter
  44. def name(self, new):
  45. self.name=new
  46.  
  47. @balance.setter
  48. def balance(self, new):
  49. self.balance=new
  50.  
  51.  
  52.  
  53. class Field:
  54. pass
  55.  
  56. class Go(Field):
  57.  
  58.  
  59. class Board:
  60.  
  61. def __init__(self):
  62. self.fields = {0:Go()}
  63.  
  64. from player import player
  65. from board import board
  66. class Game:
  67.  
  68. def __init__(self, players, board):
  69. self.players = []
  70. self.board = board
  71. for i in range(players):
  72. name = f"P{i+1}"
  73. self.players.append(Player(name))
  74.  
  75. def start(self):
  76. for p in self.players:
  77. p.balance=1500
  78. for i in range(10):
  79. for p in players:
  80. a,b = p.roll()
  81. p.move(a+b)
  82. if a==b:
  83. a,b=p.roll()
  84. p.move(a+b)
  85.  
  86. from game import Game
  87. b = Board()
  88. game = Game(4,b)
  89. gane.start()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement