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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
#!/usr/bin/env python
from random import shuffle, choice
from collections import deque
class Lucky_Winner:
def __init__(self):
self.deck = deque(['£1', '50p', '1p', '10p', '5p', '20p', '£2', '2p'])
shuffle(self.deck)
self.values = {'£1': 1, '50p': 0.5, '1p': 0.01, '10p': 0.1, '5p': 0.05, '20p': 0.2, '£2': 2, '2p': 0.02}
self.players = {1: 'Player', -1: 'Computer'}
self.sides = ['L', 'R']
self.scores = {-1: 0, 1: 0}
def do_draw(self, side: str):
if side == 'L':
return self.deck.popleft()
return self.deck.pop()
def get_player_input(self):
lr = ''
while 1:
lr = input('Please input L for left or R for right side of the line:').upper()
if lr in ('LR'):
break
return lr
def play_round(self, who: str):
lr = ''
if who == 1:
lr = self.get_player_input()
else:
lr = choice(self.sides)
draw = self.do_draw(lr)
self.scores[who] += self.values[draw]
print(f'{self.players[who]} has drawn from {lr} and won {draw} and has now score {self.scores[who]}')
def end_game(self):
if self.scores[1] > self.scores[-1]:
print('Player WON!')
elif self.scores[1] < self.scores[-1]:
print('Computer WON!')
else:
print("It's a TIE!")
def play_game(self):
who = -1
while 1:
who *= -1
self.play_round(who)
if len(self.deck) == 0:
break
self.end_game()
if __name__ == '__main__':
game = Lucky_Winner()
game.play_game()
|