예제 #1
0
class Controller():
    def __init__(self):
        self.board = GameBoard()
        self.events = Events()
        self.view = Viewer(self.events, self.board.view())
        self.events.onMouseClick += self.MouseHandler

    def MouseHandler(self, pos):
        try:
            self.board.makeMove(pos)
        except ValueError as e:
            self.events.onException(e)
        result = self.board.checkWin()
        if result:
            print(result)
            self.view.handleWin(result)

        self.view.updateBoard(self.board.view())

    def start(self):
        self.view.main()