-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathPuzzlORDecember2010.py
executable file
·50 lines (43 loc) · 1.24 KB
/
PuzzlORDecember2010.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
46
47
48
49
50
# PuzzlOR December 2010 Minipoly
import random
import operator
def diceRoll():
return random.randint(1,4)
def boardValue(value):
if value == "Green":
return 1
elif value == "Yellow":
return 4
elif value == "Red":
return 5
elif value == "Blue":
return 7
def boardPosition(value):
if value == 1:
return "Green"
elif value == 2:
return boardPosition(2 + diceRoll())
elif value == 3:
return "Yellow"
elif value == 4:
return boardPosition(diceRoll())
elif value == 5:
return "Red"
elif value == 6 or value == 7:
return "Blue"
rollcount = 0
maxvalue = 100000
outcome = {}
currentboardposition = 0
while (rollcount < maxvalue):
currentboardposition += diceRoll()
if currentboardposition > 7:
currentboardposition -= 7
createdvalue = boardPosition(currentboardposition)
if createdvalue in outcome:
outcome[createdvalue] += 1
else:
outcome[createdvalue] = 1
rollcount+=1
sorted_x = sorted(outcome.items(), key=operator.itemgetter(1))
print(sorted_x[len(sorted_x)-1][1]/maxvalue)