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()