• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python gamestate.GameState类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中rgkit.gamestate.GameState的典型用法代码示例。如果您正苦于以下问题:Python GameState类的具体用法?Python GameState怎么用?Python GameState使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了GameState类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: test_add_robot

 def test_add_robot(self):
     state = GameState()
     state.add_robot((9, 9), 0, robot_id=7, hp=42)
     self.assertTrue((9, 9) in state.robots)
     self.assertEquals(state.robots[(9, 9)].player_id, 0)
     self.assertEquals(state.robots[(9, 9)].robot_id, 7)
     self.assertEquals(state.robots[(9, 9)].hp, 42)
开发者ID:svankina,项目名称:rgkit,代码行数:7,代码来源:state_misc_test.py


示例2: test_lack_of_location

    def test_lack_of_location(self):
        state = GameState()
        state.add_robot((9, 9), 0)
        robot = state.robots[(9, 9)]

        with self.assertRaises(Exception):
            Player._validate_action(robot, ['move'])
开发者ID:DynCodingForKids,项目名称:rgkit,代码行数:7,代码来源:valid_test.py


示例3: test_first_turn_spawning

    def test_first_turn_spawning(self):
        state = GameState()

        actions = {}

        state2 = state.apply_actions(actions)

        self.assertEqual(state2.get_scores(), [settings.spawn_per_player, settings.spawn_per_player])
开发者ID:svankina,项目名称:rgkit,代码行数:8,代码来源:spawn_test.py


示例4: test_spawn_hop_in

    def test_spawn_hop_in(self):
        state = GameState()

        state.add_robot((4, 4), 0)

        actions = {(4, 4): ["move", (4, 3)]}

        state2 = state.apply_actions(actions)

        self.assertTrue(not state2.is_robot((4, 3)) or state2.robots[(4, 3)].robot_id != state.robots[4, 4].robot_id)
开发者ID:svankina,项目名称:rgkit,代码行数:10,代码来源:spawn_test.py


示例5: test_spawn_dodge

    def test_spawn_dodge(self):
        state = GameState()

        state.add_robot((4, 3), 0)

        actions = {(4, 3): ["move", (4, 4)]}

        state2 = state.apply_actions(actions)

        self.assertTrue(state2.is_robot((4, 4)))
开发者ID:svankina,项目名称:rgkit,代码行数:10,代码来源:spawn_test.py


示例6: test_spawn_kills

    def test_spawn_kills(self):
        state = GameState()

        state.add_robot((4, 3), 0)

        actions = {(4, 3): ["guard"]}

        state2 = state.apply_actions(actions)

        self.assertTrue(not state2.is_robot((4, 3)) or state2.robots[(4, 3)].robot_id != state.robots[4, 3].robot_id)
开发者ID:svankina,项目名称:rgkit,代码行数:10,代码来源:spawn_test.py


示例7: test_repr_too_long

    def test_repr_too_long(self):
        state = GameState()
        state.add_robot((9, 9), 0)

        class long_action(list):
            def __repr__(self):
                return 'leethaxxor' * 100

        action = long_action(['guard'])
        self.assertFalse(state.is_valid_action((9, 9), action))
开发者ID:berleon,项目名称:rgkit,代码行数:10,代码来源:valid_test.py


示例8: test_apply_actions

    def test_apply_actions(self):
        state = GameState.create_from_json(self.game1)
        moves = GameState.create_actions_from_json(self.actions1)
        new_state = state.apply_actions(moves)
        info = new_state.get_game_info(json=True, seed=True)

        # TODO: Less mysterious randomization please -_-.
        r1 = random.Random('0' + 's')
        self.result1['seed'] = str(r1.randint(0, settings.max_seed))
        r2 = random.Random('0' + 'a')
        hp_left = 50 - r2.randint(*settings.attack_range)
        self.result1['robots'][0]['hp'] = hp_left

        self.assertEqual(self.sprint(self.result1), self.sprint(info))
开发者ID:Earthlandto,项目名称:Skyners,代码行数:14,代码来源:json_test.py


示例9: test_ok

 def test_ok(self):
     state = GameState()
     state.add_robot((9, 9), 0)
     robot = state.robots[(9, 9)]
     Player._validate_action(robot, ['guard'])
     Player._validate_action(robot, ['suicide'])
     Player._validate_action(robot, ['guard', None])
     Player._validate_action(robot, ['suicide', (1, 1)])
     Player._validate_action(robot, ['attack', (9, 10)])
     Player._validate_action(robot, ['move', (9, 10)])
     Player._validate_action(robot, ('guard', (2, 3)))
     Player._validate_action(robot, ('suicide', None))
     Player._validate_action(robot, ('attack', (9, 10)))
     Player._validate_action(robot, ('move', (9, 10)))
开发者ID:DynCodingForKids,项目名称:rgkit,代码行数:14,代码来源:valid_test.py


示例10: test_unobvious_collision

    def test_unobvious_collision(self):
        state = GameState(settings)
        state.add_robot((9, 10), 0)
        state.add_robot((9, 12), 1)
        state.add_robot((9, 11), 0)
        state.add_robot((11, 11), 1)

        actions = {
            (9, 10): ['move', (9, 11)],
            (9, 12): ['move', (9, 11)],
            (9, 11): ['move', (10, 11)],
            (11, 11): ['move', (10, 11)]
        }

        state2 = state.apply_actions(actions, spawn=False)

        self.assertTrue(state2.is_robot((9, 10)))
        self.assertEqual(state2.robots[9, 10].hp, settings.robot_hp)
        self.assertTrue(state2.is_robot((9, 12)))
        self.assertEqual(state2.robots[9, 12].hp,
                         settings.robot_hp - settings.collision_damage)
        self.assertTrue(state2.is_robot((9, 11)))
        self.assertEqual(state2.robots[9, 11].hp,
                         settings.robot_hp - settings.collision_damage*2)
        self.assertTrue(state2.is_robot((11, 11)))
        self.assertEqual(state2.robots[11, 11].hp,
                         settings.robot_hp - settings.collision_damage)
开发者ID:mic159,项目名称:rgkit,代码行数:27,代码来源:move_test.py


示例11: test_train_collision

    def test_train_collision(self):
        state = GameState(settings)
        state.add_robot((10, 10), 0)
        state.add_robot((11, 10), 1)
        state.add_robot((12, 10), 0)
        state.add_robot((8, 10), 1)

        actions = {
            (10, 10): ['move', (9, 10)],
            (11, 10): ['move', (10, 10)],
            (12, 10): ['move', (11, 10)],
            (8, 10): ['move', (9, 10)]
        }

        state2 = state.apply_actions(actions, spawn=False)

        self.assertTrue(state2.is_robot((10, 10)))
        self.assertEqual(state2.robots[10, 10].hp,
                         settings.robot_hp - settings.collision_damage*2)
        self.assertTrue(state2.is_robot((11, 10)))
        self.assertEqual(state2.robots[11, 10].hp,
                         settings.robot_hp - settings.collision_damage*2)
        self.assertTrue(state2.is_robot((12, 10)))
        self.assertEqual(state2.robots[12, 10].hp,
                         settings.robot_hp - settings.collision_damage)
        self.assertTrue(state2.is_robot((8, 10)))
        self.assertEqual(state2.robots[8, 10].hp,
                         settings.robot_hp - settings.collision_damage)
开发者ID:mic159,项目名称:rgkit,代码行数:28,代码来源:move_test.py


示例12: test_spawn_dodge_overwrite

    def test_spawn_dodge_overwrite(self):
        state = GameState()

        state.add_robot((4, 3), 0)

        actions = {
            (4, 3): ['move', (4, 4)]
        }

        # ensure that a robot will get spawned at (4, 3)
        state._get_spawn_locations = lambda: [(i, 3) for i in range(10)]

        state2 = state.apply_actions(actions)

        self.assertTrue(state2.is_robot((4, 4)))
        self.assertTrue(state2.is_robot((4, 3)))
开发者ID:Earthlandto,项目名称:Skyners,代码行数:16,代码来源:spawn_test.py


示例13: test_load_json_game_state

    def test_load_json_game_state(self):
        # Dump and load to validate
        data = json.loads(json.dumps(self.game1))
        state = GameState.create_from_json(data)
        info = state.get_game_info(json=True, seed=True)

        self.assertEqual(self.sprint(self.game1), self.sprint(info))
开发者ID:Earthlandto,项目名称:Skyners,代码行数:7,代码来源:json_test.py


示例14: test_load_json_actions

    def test_load_json_actions(self):
        data = json.loads(json.dumps(self.actions1))
        moves = GameState.create_actions_from_json(data)

        self.assertTrue((10, 12) in moves)
        self.assertEqual(json.dumps(moves[(10, 12)]),
                         json.dumps(['move', [10, 11]]))
开发者ID:Earthlandto,项目名称:Skyners,代码行数:7,代码来源:json_test.py


示例15: test_ok

 def test_ok(self):
     state = GameState()
     state.add_robot((9, 9), 0)
     self.assertTrue(state.is_valid_action((9, 9), ['guard']))
     self.assertTrue(state.is_valid_action((9, 9), ['suicide']))
     self.assertTrue(state.is_valid_action((9, 9), ['attack', (9, 10)]))
     self.assertTrue(state.is_valid_action((9, 9), ['move', (9, 10)]))
开发者ID:berleon,项目名称:rgkit,代码行数:7,代码来源:valid_test.py


示例16: test_suicide

    def test_suicide(self):
        state = GameState()
        loc1 = (10, 11)
        dest1 = (10, 10)
        loc2 = (9, 10)

        state.add_robot(loc1, 0)
        state.add_robot(loc2, 1)

        actions = {
            loc1: ['move', dest1],
            loc2: ['suicide']
        }
        deltas = state.get_delta(actions)

        d_guard = delta_for(deltas, loc1)
        d_suicide = delta_for(deltas, loc2)

        self.assertEqual(d_guard.hp - d_guard.hp_end, d_suicide.damage_caused)
开发者ID:DynCodingForKids,项目名称:rgkit,代码行数:19,代码来源:delta_test.py


示例17: test_attack

    def test_attack(self):
        state = GameState()
        loc1 = (10, 11)
        dest1 = (10, 10)
        loc2 = (9, 10)
        dest2 = dest1

        state.add_robot(loc1, 0)
        state.add_robot(loc2, 1)

        actions = {
            loc1: ['move', dest1],
            loc2: ['attack', dest2]
        }
        deltas = state.get_delta(actions)

        d_move = delta_for(deltas, loc1)
        d_attack = delta_for(deltas, loc2)

        self.assertEqual(d_move.hp - d_move.hp_end, d_attack.damage_caused)
开发者ID:DynCodingForKids,项目名称:rgkit,代码行数:20,代码来源:delta_test.py


示例18: __init__

    def __init__(self, player1_path, player2_path):
        self.match_id = None

        self.player = Player(player1_path) if player1_path else None
        if self.player:
            self.player1_path = player1_path
            self.player.set_player_id(1)

        self.player2 = Player(player2_path) if player2_path else None
        if self.player2:
            self.player2_path = player2_path
            self.player2.set_player_id(0)

        self.turn_repeat = False

        self.UI = SimulatorUI(settings)
        self.UI.setTitle("Robot Game Simulator")

        self.state = GameState(settings, turn=1)
        self.cached_actions = None
        self.human_actions = {}

        self.UI.setTurn(self.state.turn)

        self.UI.bind("w", lambda ev: self.UI.moveSelection((0, -1)))
        self.UI.bind("a", lambda ev: self.UI.moveSelection((-1, 0)))
        self.UI.bind("s", lambda ev: self.UI.moveSelection((0, 1)))
        self.UI.bind("d", lambda ev: self.UI.moveSelection((1, 0)))
        self.UI.bind("<Up>", lambda ev: self.UI.moveSelection((0, -1)))
        self.UI.bind("<Left>", lambda ev: self.UI.moveSelection((-1, 0)))
        self.UI.bind("<Down>", lambda ev: self.UI.moveSelection((0, 1)))
        self.UI.bind("<Right>", lambda ev: self.UI.moveSelection((1, 0)))
        self.UI.bind("<ButtonPress-1>", lambda ev: self.UI.onMouseClick(ev))

        self.UI.bind("l", self.onLoadMatch)
        self.UI.bind("k", self.onLoadTurn)
        self.UI.bind("o", self.onReloadPlayer)
        self.UI.bind("p", self.onSwapPlayer)

        self.UI.bind("t", self.onEditTurn)
        self.UI.bind("f", self.onAddTeammate)
        self.UI.bind("e", self.onAddEnemy)
        self.UI.bind("r", self.onRemove)
        self.UI.bind("c", self.onClear)
        self.UI.bind("<Delete>", self.onRemove)
        self.UI.bind("<BackSpace>", self.onRemove)
        self.UI.bind("h", self.onEditHP)
        self.UI.bind("<space>", self.onShowActions)
        self.UI.bind("<Return>", self.onSimulate)
        self.UI.bind("n", self.onNextAction)
        self.UI.bind("g", self.onSpawnRobots)

        self.UI.run()
开发者ID:mpeterv,项目名称:rgsimulator,代码行数:53,代码来源:rgsimulator.py


示例19: test_three_collision

    def test_three_collision(self):
        state = GameState()
        loc1 = (10, 11)
        loc2 = (9, 10)
        loc3 = (11, 10)

        dest = (10, 10)

        state.add_robot(loc1, 0)
        state.add_robot(loc2, 1)
        state.add_robot(loc3, 1)

        actions = {
            loc1: ['move', dest],
            loc2: ['move', dest],
            loc3: ['move', dest]
        }

        deltas = state.get_delta(actions)

        d_player0 = delta_for(deltas, loc1)
        d_player1_1 = delta_for(deltas, loc2)
        d_player1_2 = delta_for(deltas, loc3)

        self.assertEqual(d_player0.hp - d_player0.hp_end,
                         d_player1_1.damage_caused + d_player1_2.damage_caused)

        player1_hp_lose = d_player1_1.hp - d_player1_1.hp_end + \
            d_player1_2.hp - d_player1_2.hp_end

        self.assertEqual(player1_hp_lose, d_player0.damage_caused)
开发者ID:DynCodingForKids,项目名称:rgkit,代码行数:31,代码来源:delta_test.py


示例20: test_try_move_in_circle

    def test_try_move_in_circle(self):
        state = GameState(settings)
        state.add_robot((8, 8), 0)
        state.add_robot((9, 8), 1)
        state.add_robot((9, 9), 0)
        state.add_robot((8, 9), 1)

        actions = {
            (8, 8): ['move', (9, 8)],
            (9, 8): ['move', (9, 9)],
            (9, 9): ['move', (8, 9)],
            (8, 9): ['move', (8, 8)]
        }

        state2 = state.apply_actions(actions, spawn=False)

        self.assertTrue(state2.is_robot((9, 8)))
        self.assertEqual(state2.robots[9, 8].hp, settings.robot_hp)
        self.assertEqual(state2.robots[9, 8].player_id, 0)
        self.assertTrue(state2.is_robot((9, 9)))
        self.assertEqual(state2.robots[9, 9].hp, settings.robot_hp)
        self.assertEqual(state2.robots[9, 9].player_id, 1)
        self.assertTrue(state2.is_robot((8, 9)))
        self.assertEqual(state2.robots[8, 9].hp, settings.robot_hp)
        self.assertEqual(state2.robots[8, 9].player_id, 0)
        self.assertTrue(state2.is_robot((8, 8)))
        self.assertEqual(state2.robots[8, 8].hp, settings.robot_hp)
        self.assertEqual(state2.robots[8, 8].player_id, 1)
开发者ID:mic159,项目名称:rgkit,代码行数:28,代码来源:move_test.py



注:本文中的rgkit.gamestate.GameState类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python rgt.GenomicRegionSet类代码示例发布时间:2022-05-26
下一篇:
Python rg.wdist函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap