Example #1
0
    def __init__(self, m, n, Game):
        self.size = [m, n]
        self.Game = Game

        self.screenSize = [800, 600]

        EventManager.subscribe("MoveFinished", self.onMoveFinished)

        # init Tkinter
        self.tkInstance = Tk()

        self._GUISplashScreen = SplashScreenView(self.tkInstance, self)
        self._GUIMenu = MenuView(self.tkInstance, self)
        self._GUIGameBoard = GameView(self.tkInstance, self, Game)

        self._GUIMenu.show()
Example #2
0
 def __init__(self, m, n, Game):
     self.size = [m,n]
     self.Game = Game
     
     self.screenSize = [800, 600]
     
     EventManager.subscribe("MoveFinished", self.onMoveFinished)
     
     # init Tkinter
     self.tkInstance = Tk()
     
     self._GUISplashScreen = SplashScreenView(self.tkInstance, self)
     self._GUIMenu = MenuView(self.tkInstance, self)
     self._GUIGameBoard = GameView(self.tkInstance, self, Game)
     
     
     self._GUIMenu.show()
Example #3
0
class HexGUI:
    
    def __init__(self, m, n, Game):
        self.size = [m,n]
        self.Game = Game
        
        self.screenSize = [800, 600]
        
        EventManager.subscribe("MoveFinished", self.onMoveFinished)
        
        # init Tkinter
        self.tkInstance = Tk()
        
        self._GUISplashScreen = SplashScreenView(self.tkInstance, self)
        self._GUIMenu = MenuView(self.tkInstance, self)
        self._GUIGameBoard = GameView(self.tkInstance, self, Game)
        
        
        self._GUIMenu.show()
        
    
    def mainloop(self):
        mainloop()
    
    def receiveMove(self, move):
        # do somehting
        return 0
    
    def setFirst(self):
        # todo
        return 0
    
    def won(self, winner):
        self._GUIMenu.won(winner)
    
    def onMoveFinished(self):
        
        # show the Swap Button
        if self.Game.moveCounter == 1:
            self.Game.HexGUI._GUIGameBoard.showPlayerSwap()
        
        # and hide if second hexagon is marked
        if self.Game.moveCounter == 2:
            self.Game.HexGUI._GUIGameBoard.hidePlayerSwap()
        
        self.draw()
    
    def draw(self):
        self._GUISplashScreen.draw()
        self._GUIMenu.draw()
        self._GUIGameBoard.draw()
    
    def openPage(self, page):
        
        if page == "splash":
            self._GUIMenu.hide()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.show()
        elif page == "menu":
            self._GUIMenu.show()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.hide()
        elif page == "game":
            self._GUIMenu.hide()
            self._GUIGameBoard.show()
            self._GUISplashScreen.hide()
Example #4
0
class HexGUI:
    def __init__(self, m, n, Game):
        self.size = [m, n]
        self.Game = Game

        self.screenSize = [800, 600]

        EventManager.subscribe("MoveFinished", self.onMoveFinished)

        # init Tkinter
        self.tkInstance = Tk()

        self._GUISplashScreen = SplashScreenView(self.tkInstance, self)
        self._GUIMenu = MenuView(self.tkInstance, self)
        self._GUIGameBoard = GameView(self.tkInstance, self, Game)

        self._GUIMenu.show()

    def mainloop(self):
        mainloop()

    def receiveMove(self, move):
        # do somehting
        return 0

    def setFirst(self):
        # todo
        return 0

    def won(self, winner):
        self._GUIMenu.won(winner)

    def onMoveFinished(self):

        # show the Swap Button
        if self.Game.moveCounter == 1:
            self.Game.HexGUI._GUIGameBoard.showPlayerSwap()

        # and hide if second hexagon is marked
        if self.Game.moveCounter == 2:
            self.Game.HexGUI._GUIGameBoard.hidePlayerSwap()

        self.draw()

    def draw(self):
        self._GUISplashScreen.draw()
        self._GUIMenu.draw()
        self._GUIGameBoard.draw()

    def openPage(self, page):

        if page == "splash":
            self._GUIMenu.hide()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.show()
        elif page == "menu":
            self._GUIMenu.show()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.hide()
        elif page == "game":
            self._GUIMenu.hide()
            self._GUIGameBoard.show()
            self._GUISplashScreen.hide()
Example #5
0
class HexGUI:
    
    def __init__(self, m, n, Game):
        self.size = [m,n]
        self.Game = Game
        
        self.screenSize = [800, 600]
        
        EventManager.subscribe("MoveFinished", self.onMoveFinished)
        
        # init Tkinter
        self.tkInstance = Tk()
        self.tkInstance.after(1000, self.onUITick)
        
        self._GUISplashScreen = SplashScreenView(self.tkInstance, self)
        self._GUIMenu = MenuView(self.tkInstance, self)
        self._GUIGameBoard = GameView(self.tkInstance, self, Game)
        
        
        self._GUIMenu.show()
        
    # called on every GUI Clock tick
    def onUITick(self):
        
        if not self.Game._pause:
            # notify subscripts
            EventManager.notify("UITick")
        
        
        # redo this step every nth seconds
        self.tkInstance.after(200, self.onUITick)
    
    def mainloop(self):
        mainloop()
    
    def receiveMove(self, move):
        # do somehting
        return 0
    
    def setFirst(self):
        # todo
        return 0
    
    def won(self, winner):
        self._GUIMenu.won(winner)
    
    def onMoveFinished(self):
        
        # show the Swap Button
        if self.Game.moveCounter == 1:
            self.Game.HexGUI._GUIGameBoard.showPlayerSwap()
        
        # and hide if second hexagon is marked
        if self.Game.moveCounter == 2:
            self.Game.HexGUI._GUIGameBoard.hidePlayerSwap()
        
        self.draw()
    
    def draw(self):
        self._GUISplashScreen.draw()
        self._GUIMenu.draw()
        self._GUIGameBoard.draw()
    
    def openPage(self, page):
        
        if page == "splash":
            self._GUIMenu.hide()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.show()
        elif page == "menu":
            self._GUIMenu.show()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.hide()
        elif page == "game":
            self._GUIMenu.hide()
            self._GUIGameBoard.show()
            self._GUISplashScreen.hide()
            EventManager.notify("GameUILoaded")
Example #6
0
class HexGUI:
    def __init__(self, m, n, Game):
        self.size = [m, n]
        self.Game = Game

        self.screenSize = [800, 600]

        EventManager.subscribe("MoveFinished", self.onMoveFinished)

        # init Tkinter
        self.tkInstance = Tk()
        self.tkInstance.after(1000, self.onUITick)

        self._GUISplashScreen = SplashScreenView(self.tkInstance, self)
        self._GUIMenu = MenuView(self.tkInstance, self)
        self._GUIGameBoard = GameView(self.tkInstance, self, Game)

        self._GUIMenu.show()

    # called on every GUI Clock tick
    def onUITick(self):

        if not self.Game._pause:
            # notify subscripts
            EventManager.notify("UITick")

        # redo this step every nth seconds
        self.tkInstance.after(200, self.onUITick)

    def mainloop(self):
        mainloop()

    def receiveMove(self, move):
        # do somehting
        return 0

    def setFirst(self):
        # todo
        return 0

    def won(self, winner):
        self._GUIMenu.won(winner)

    def onMoveFinished(self):

        # show the Swap Button
        if self.Game.moveCounter == 1:
            self.Game.HexGUI._GUIGameBoard.showPlayerSwap()

        # and hide if second hexagon is marked
        if self.Game.moveCounter == 2:
            self.Game.HexGUI._GUIGameBoard.hidePlayerSwap()

        self.draw()

    def draw(self):
        self._GUISplashScreen.draw()
        self._GUIMenu.draw()
        self._GUIGameBoard.draw()

    def openPage(self, page):

        if page == "splash":
            self._GUIMenu.hide()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.show()
        elif page == "menu":
            self._GUIMenu.show()
            self._GUIGameBoard.hide()
            self._GUISplashScreen.hide()
        elif page == "game":
            self._GUIMenu.hide()
            self._GUIGameBoard.show()
            self._GUISplashScreen.hide()
            EventManager.notify("GameUILoaded")