示例#1
0
    def Run(self):

        for gamepair in self._TestsKeys:
            try:
                sleep(2)
                firstPlayer = self._InstanceCreator(
                    gamepair[0], self._BotsData[gamepair[0]])
                secondPlayer = self._InstanceCreator(
                    gamepair[1], self._BotsData[gamepair[1]])
                gamecontroller = GameController(self._ConfigProvider,
                                                firstPlayer, secondPlayer)
                if not gamecontroller.valid:
                    print("Invalid game controller")
                else:
                    print(
                        f"Game between {gamepair[0]} and gamepair{gamepair[1]}"
                    )
                    starttime = time.time()
                    gamecontroller.Run()
                    endtime = time.time()
                    print(
                        f"Game took {endtime-starttime} seconds Winner={gamecontroller.VictoryReason.winner} WinnignReason={gamecontroller.VictoryReason.winningireason}"
                    )
            except:
                print(sys.exc_info())
 def test_GameController_SimpleRun_NoWinner(self):
     sleep(2)  # Time in seconds.
     playerfacade1=NoMovePlayerFacade()
     playerfacade2=NoMovePlayerFacade()
     gamecontroller = GameController(self._ConfigProvider,playerfacade1,playerfacade2)
     gamecontroller.Run()
     self.assertTrue(gamecontroller.VictoryReason.winningireason==WinnigReason.NO_WIN, "OK")
     self.assertTrue(gamecontroller.VictoryReason.winner==WinnigPlayer.NO_WINNER, "OK")
 def test_GameController_Exception(self):
     sleep(2)  # Time in seconds.
     playerfacade1 = NoMovePlayerFacade()
     playerfacade2 = ExceptionThrowingPlayerFacade(4)
     gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
     gamecontroller.Run()
     self.assertTrue(gamecontroller.VictoryReason.winningireason == WinnigReason.PLAYER_2_CRASH, "OK")
     self.assertTrue(gamecontroller.VictoryReason.winner == WinnigPlayer.PLAYER_1, "OK")
 def test_GameController_SimpleRun_Score(self):
     sleep(2)  # Time in seconds.
     playerfacade1 = NoMovePlayerFacade()
     playerfacade2 = NoMovePlayerFacade()
     # SetPlayer 1 To threatposition
     self._ConfigProvider.addValue('Player1.Config', 'StartPositionX', '7')
     self._ConfigProvider.addValue('Player1.Config', 'StartPositionY', '3')
     gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
     gamecontroller.Run()
     self.assertTrue(gamecontroller.VictoryReason.winningireason == WinnigReason.NO_WIN, "OK")
     self.assertTrue(gamecontroller.VictoryReason.winner == WinnigPlayer.NO_WINNER, "OK")
 def test_GameController_SimpleRun_Destruction(self):
     sleep(2)  # Time in seconds.
     playerfacade1 = NoMovePlayerFacade()
     playerfacade2 = NoMovePlayerFacade()
     # SetPlayer 1 To threatposition
     self._ConfigProvider.addValue('Player1.Config', 'StartPositionX', '2')
     self._ConfigProvider.addValue('Player1.Config', 'StartPositionY', '2')
     gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
     gamecontroller.Run()
     self.assertTrue(gamecontroller.VictoryReason.winningireason == WinnigReason.DESTRUCTION, "OK")
     self.assertTrue(gamecontroller.VictoryReason.winner == WinnigPlayer.PLAYER_1, "OK")
    def test_GameController_Threatend(self):
        sleep(2)  # Time in seconds.
        self._ConfigProvider.addValue('Game.Config', 'MapFileName', self._MovingPath)
        self._ConfigProvider.addValue('Player1.Config', 'StartPositionX', '0')
        self._ConfigProvider.addValue('Player1.Config', 'StartPositionY', '0')
        self._ConfigProvider.addValue('Player2.Config', 'StartPositionX', '2')
        self._ConfigProvider.addValue('Player2.Config', 'StartPositionY', '2')
        playerfacade1 = NoMovePlayerFacade()
        playerfacade2 = EvadingPlayerFacade()
        gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
        gamecontroller.Run()

        self.assertTrue(playerfacade2.Evades>0, "OK")
 def test_GameController_SimpleRun_Score_Chack(self):
     sleep(2)  # Time in seconds.
     playerfacade1 = NoMovePlayerFacade()
     playerfacade2 = NoMovePlayerFacade()
     # SetPlayer 1 To threatposition
     self._ConfigProvider.addValue('Player1.Config', 'StartPositionX', '7')
     self._ConfigProvider.addValue('Player1.Config', 'StartPositionY', '3')
     self._ConfigProvider.addValue('Game.Config', 'TotalPlayTime', '10')
     self._ConfigProvider.addValue('RestPoint.Config', 'RestPointTimeToProfit', '3')
     self._ConfigProvider.addValue('RestPoint.Config', 'RestPointTimeToRegenerate', '5')
     gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
     gamecontroller.Run()
     self.assertTrue(gamecontroller.VictoryReason.winner==WinnigPlayer.NO_WINNER, "OK")
     self.assertTrue(gamecontroller.VictoryReason.winningireason==WinnigReason.NO_WIN, "OK")
     self.assertTrue(gamecontroller.Player_1_State.score == -5, "OK")
    def test_GameController_SameMovement(self):
        sleep(2)  # Time in seconds.
        self._ConfigProvider.addValue('Game.Config', 'MapFileName', self._NoControllingPointsMap)
        self._ConfigProvider.addValue('Player1.Config', 'StartPositionX', '0')
        self._ConfigProvider.addValue('Player1.Config', 'StartPositionY', '0')
        self._ConfigProvider.addValue('Player2.Config', 'StartPositionX', '2')
        self._ConfigProvider.addValue('Player2.Config', 'StartPositionY', '2')

        playerfacade1 = SamePointMovingPlayerFacade()
        playerfacade2 = SamePointMovingPlayerFacade()
        gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
        gamecontroller.Run()
        self.assertTrue(gamecontroller.VictoryReason.winningireason == WinnigReason.GAME_TIME_OUT, "OK")
        self.assertTrue(gamecontroller.VictoryReason.winner == WinnigPlayer.NO_WINNER, "OK")
        self.assertTrue(gamecontroller.Player_1_State.score == 0, "OK")
        self.assertTrue(gamecontroller.Player_2_State.score == 0, "OK")
    def test_GameController_TestState(self):
        sleep(2)  # Time in seconds.
        playerfacade1 = NoMovePlayerFacade()
        playerfacade2 = NoMovePlayerFacade()
        gamecontroller = GameController(self._ConfigProvider, playerfacade1, playerfacade2)
        gamecontroller.Run()
        gamestate1 = playerfacade1.MyEngine.GetGameState()
        gamestate2=playerfacade2.MyEngine.GetGameState()
        self.assertTrue(playerfacade1.MyEngine.Dimensions.width == 10, "OK")
        self.assertTrue(playerfacade1.MyEngine.Dimensions.height == 10, "OK")
        self.assertTrue(gamestate1.MyPlayer.timeinposition == 20, "OK")
        self.assertTrue(gamestate1.EnemyPlayer.timeinposition == 20, "OK")
        self.assertTrue(gamestate1.playingtime==20, "OK")

        self.assertTrue(gamestate2.MyPlayer.timeinposition == 20, "OK")
        self.assertTrue(gamestate2.EnemyPlayer.timeinposition == 20, "OK")
        self.assertTrue(gamestate2.playingtime == 20, "OK")
示例#10
0
 def test_GameController_Load(self):
     sleep(2)  # Time in seconds.
     playerfacade1=NoMovePlayerFacade()
     playerfacade2=NoMovePlayerFacade()
     gamecontroller = GameController(self._ConfigProvider,playerfacade1,playerfacade2)
     self.assertTrue(gamecontroller.valid, "OK")