-
Notifications
You must be signed in to change notification settings - Fork 0
/
player.py
45 lines (40 loc) · 1.36 KB
/
player.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from die import Die
class Player(object):
def __init__(self):
#Has a pair of dice and an empty rolls list
self._die1 = Die()
self._die2 = Die()
self._rolls = []
def __str__(self):
#Returns the string rep of the history of rolls
result = ""
for (v1, v2) in self._rolls:
result = result + str((v1, v2)) + " " + str(v1 + v2) + '\n'
return result
def getNumberOfRolls(self):
#Returns the number of the rolls in one game
return len(self._rolls)
def play(self):
#Plays a game, saves the rolls for that game, and returns True for a win and False for a loss
self._rolls = []
self._die1.roll()
self._die2.roll()
(v1, v2) = (self._die1.getValue(),
self._die2.getValue())
self._rolls.append((v1, v2))
initialSum = v1 + v2
if initialSum in (2, 3, 12):
return False
elif initialSum in (7, 11):
return True
while True:
self._die1.roll()
self._die2.roll()
(v1, v2) = (self._die1.getValue(),
self._die2.getValue())
self._rolls.append((v1, v2))
sum = v1 + v2
if sum == 7:
return False
elif sum == initialSum:
return True