Esempio n. 1
0
    def testScenarioReplace(self):
        filename = 'config/scenarios/ScenarioJunction.yaml'
        with open(filename, 'r') as f:
            originalContent = f.readlines()

        newContent = [line for line in originalContent if 'color' not in line]

        try:
            # update content
            with open(filename, 'w') as f:
                f.writelines(newContent)
            collect()

            board, state = buildScenario('Junction')

            self.assertTrue(board)
            self.assertTrue(state)

            self.assertEqual(TYPE_TERRAIN[board.terrain[0, 0]],
                             TERRAIN_TYPE['FOREST'])
            self.assertEqual(TYPE_TERRAIN[board.terrain[30, 30]],
                             TERRAIN_TYPE['ROAD'])
        finally:

            # restore original content
            with open(filename, 'w') as f:
                f.writelines(originalContent)
    def setUp(self):
        collect()

        shape = (16, 16)
        self.board = GameBoard(shape)
        self.state = GameState(shape)

        self.tank = buildFigure('Tank', (8, 8), RED)
        self.state.addFigure(self.tank)
Esempio n. 3
0
    def collect_config():
        if app.collecting:
            return

        app.collecting = True
        try:
            collect()
            app.scenarios = [k for k, v in TMPL_SCENARIOS.items() if 'offline' not in v]
            app.terrains = {v['level']: v for k, v in TMPL_TERRAIN_TYPE.items()}
        except Exception as e:
            logger.error(f'could not collect configuration! {e}')
        finally:
            app.collecting = False
Esempio n. 4
0
    def setUp(self):
        collect()

        shape = (16, 16)
        self.board = GameBoard(shape)
        self.state = GameState(shape)

        self.red_tank = buildFigure('Tank', (0, 6), RED)
        self.red_inf = buildFigure('Infantry', (0, 12), RED)

        self.blue_tank = buildFigure('Tank', (15, 6), BLUE)
        self.blue_inf = buildFigure('Infantry', (15, 12), BLUE)

        self.state.addFigure(self.red_tank, self.red_inf, self.blue_tank,
                             self.blue_inf)
Esempio n. 5
0
    def setUp(self):
        collect()

        self.shape = (8, 8)
        self.board = GameBoard(self.shape)
        self.state = GameState(self.shape)

        self.blue_tank = buildFigure('Tank', (4, 6), BLUE)
        self.red_tank = buildFigure('Tank', (4, 1), RED)
        self.red_inf = buildFigure('Infantry', (1, 4), RED)

        self.state.addFigure(self.red_tank, self.red_inf, self.blue_tank)

        los_on_target = self.state.getLOS(self.blue_tank)

        self.los_tank = los_on_target[self.red_tank.index]
        self.los_inf = los_on_target[self.red_inf.index]
Esempio n. 6
0
 def setUp(self) -> None:
     collect()