stuff
This commit is contained in:
57
examples/monty-hall-problem/controller.py
Normal file
57
examples/monty-hall-problem/controller.py
Normal file
@ -0,0 +1,57 @@
|
||||
from models import Doors
|
||||
from views import View
|
||||
|
||||
class Controller:
|
||||
def __init__(self):
|
||||
self.view = View()
|
||||
self.name = self.view.get_name()
|
||||
self.start()
|
||||
|
||||
def start(self):
|
||||
|
||||
selected = False
|
||||
while selected not in ['1', '2', '3']:
|
||||
selected = self.view.display_doors()
|
||||
|
||||
self.doors = Doors(int(selected), self.name)
|
||||
|
||||
self.host_twist()
|
||||
|
||||
return True
|
||||
|
||||
def host_twist(self):
|
||||
|
||||
message =""
|
||||
|
||||
for i in range(1, 4):
|
||||
|
||||
if i == self.doors.selected:
|
||||
message += '[ X ] '
|
||||
elif i == self.doors.open_door:
|
||||
message += '[ Goat ] '
|
||||
else:
|
||||
message += '[ ' + str(i) + ' ] '
|
||||
other_selection = i
|
||||
selection = False
|
||||
while selection not in ['n', 'y', '']:
|
||||
selection = self.view.host_twist(message).lower()
|
||||
|
||||
if selection == 'y':
|
||||
self.doors.selected = other_selection
|
||||
self.doors.switch = True
|
||||
return self.out_come()
|
||||
|
||||
def out_come(self):
|
||||
message = 'LOSE'
|
||||
if self.doors.out_come():
|
||||
message = 'WIN'
|
||||
|
||||
replay = self.view.out_come(message)
|
||||
|
||||
if replay in ['', 'y']:
|
||||
return self.start()
|
||||
|
||||
return exit()
|
||||
|
||||
if __name__ == '__main__':
|
||||
Controller()
|
Reference in New Issue
Block a user