当前位置: 首页>>代码示例>>Python>>正文


Python Table.add_called_riichi方法代码示例

本文整理汇总了Python中game.table.Table.add_called_riichi方法的典型用法代码示例。如果您正苦于以下问题:Python Table.add_called_riichi方法的具体用法?Python Table.add_called_riichi怎么用?Python Table.add_called_riichi使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在game.table.Table的用法示例。


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

示例1: test_find_dealer_tile_to_discard

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_find_dealer_tile_to_discard(self):
        dealer = 2
        dora = self._string_to_136_tile(honors='3')
        table = Table()
        table.init_round(0, 0, 0, dora, dealer, [])

        tiles = self._string_to_136_array(sou='2234678', pin='34', man='45789')
        table.player.init_hand(tiles)

        table.add_discarded_tile(1, self._string_to_136_tile(man='4'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(man='5'), False)

        table.add_discarded_tile(2, self._string_to_136_tile(man='8'), False)
        table.add_discarded_tile(2, self._string_to_136_tile(man='9'), False)

        table.add_called_riichi(1)
        table.add_called_riichi(2)

        # for this test we don't need temporary_safe_tiles
        table.get_player(1).temporary_safe_tiles = []
        table.get_player(2).temporary_safe_tiles = []

        result = table.player.discard_tile()
        # second player is a dealer, let's fold against him
        self.assertEqual(self._to_string([result]), '9m')

        tiles = self._string_to_136_array(sou='234567', pin='348', man='234', honors='23')
        table.player.init_hand(tiles)

        result = table.player.discard_tile()
        # there is no safe tiles against dealer, so let's fold against other players
        self.assertEqual(table.player.ai.in_defence, True)
        self.assertEqual(self._to_string([result]), '4m')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:35,代码来源:tests_defence.py

示例2: test_detect_enemy_tempai_and_riichi

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_detect_enemy_tempai_and_riichi(self):
        table = Table()

        self.assertEqual(EnemyAnalyzer(table.get_player(1)).in_tempai, False)
        self.assertEqual(EnemyAnalyzer(table.get_player(1)).is_threatening, False)

        table.add_called_riichi(1)

        self.assertEqual(EnemyAnalyzer(table.get_player(1)).in_tempai, True)
        self.assertEqual(EnemyAnalyzer(table.get_player(1)).is_threatening, True)
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:12,代码来源:tests_enemy_analyzer.py

示例3: test_find_suji_tiles_to_discard_for_one_player

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_find_suji_tiles_to_discard_for_one_player(self):
        table = Table()

        tiles = self._string_to_136_array(sou='2345678', pin='12789', man='55')
        table.player.init_hand(tiles)

        table.add_discarded_tile(1, self._string_to_136_tile(man='2'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(man='8'), False)

        table.add_called_riichi(1)

        result = table.player.discard_tile()

        self.assertEqual(self._to_string([result]), '5m')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:16,代码来源:tests_defence.py

示例4: test_try_to_discard_not_needed_tiles_first_in_defence_mode

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_try_to_discard_not_needed_tiles_first_in_defence_mode(self):
        table = Table()

        tiles = self._string_to_136_array(sou='2345678', pin='789', man='55', honors='12')
        table.player.init_hand(tiles)

        table.add_discarded_tile(1, self._string_to_136_tile(man='5'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(honors='1'), False)

        table.add_called_riichi(1)

        result = table.player.discard_tile()

        self.assertEqual(self._to_string([result]), '1z')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:16,代码来源:tests_defence.py

示例5: test_find_common_suji_tiles_to_discard_for_multiple_players

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_find_common_suji_tiles_to_discard_for_multiple_players(self):
        table = Table()

        tiles = self._string_to_136_array(sou='2345678', pin='12789', man='55')
        table.player.init_hand(tiles)

        table.add_discarded_tile(1, self._string_to_136_tile(pin='4'), False)
        table.add_discarded_tile(2, self._string_to_136_tile(pin='4'), False)

        table.add_called_riichi(1)
        table.add_called_riichi(2)

        result = table.player.discard_tile()

        self.assertEqual(self._to_string([result]), '1p')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:17,代码来源:tests_defence.py

示例6: test_mark_dora_as_dangerous_tile_for_suji

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_mark_dora_as_dangerous_tile_for_suji(self):
        table = Table()
        table.add_dora_indicator(self._string_to_136_tile(man='8'))

        tiles = self._string_to_136_array(man='112235', pin='4557788')
        table.player.init_hand(tiles)
        # 9 man is dora!
        table.player.draw_tile(self._string_to_136_tile(man='9'))

        table.add_discarded_tile(1, self._string_to_136_tile(man='6'), False)
        table.add_called_riichi(1)

        result = table.player.discard_tile()

        self.assertEqual(self._to_string([result]), '3m')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:17,代码来源:tests_defence.py

示例7: test_priority_of_players_safe_tiles

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_priority_of_players_safe_tiles(self):
        table = Table()

        tiles = self._string_to_136_array(man='789', pin='2789', sou='23789', honors='1')
        table.player.init_hand(tiles)
        table.player.draw_tile(self._string_to_136_tile(sou='1'))

        table.add_discarded_tile(1, self._string_to_136_tile(sou='7'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(honors='1'), False)
        table.add_called_riichi(1)
        table.add_discarded_tile(2, self._string_to_136_tile(honors='1'), False)

        result = table.player.discard_tile()

        self.assertEqual(self._to_string([result]), '1z')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:17,代码来源:tests_defence.py

示例8: test_call_riichi_with_bad_wait_against_other_player_riichi

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_call_riichi_with_bad_wait_against_other_player_riichi(self):
        table = Table()
        table.count_of_remaining_tiles = 60
        table.player.scores = 25000

        tiles = self._string_to_136_array(sou='11223', pin='234678', man='55')
        table.player.init_hand(tiles)
        table.player.draw_tile(self._string_to_136_tile(man='9'))

        table.add_called_riichi(3)

        discard = table.player.discard_tile()
        self.assertEqual(self._to_string([discard]), '9m')
        self.assertEqual(table.player.ai.in_defence, True)
        self.assertEqual(table.player.can_call_riichi(), False)
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:17,代码来源:tests_defence.py

示例9: test_try_to_discard_less_valuable_tiles_first_in_defence_mode

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_try_to_discard_less_valuable_tiles_first_in_defence_mode(self):
        table = Table()

        tiles = self._string_to_136_array(sou='234678', pin='6789', man='55', honors='13')
        table.player.init_hand(tiles)

        table.add_discarded_tile(1, self._string_to_136_tile(pin='7'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(sou='2'), False)

        table.add_called_riichi(1)

        result = table.player.discard_tile()

        # discard of 2s will do less damage to our hand shape than 7p discard
        self.assertEqual(table.player.ai.in_defence, True)
        self.assertEqual(self._to_string([result]), '2s')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:18,代码来源:tests_defence.py

示例10: test_should_go_for_defence_and_bad_hand

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_should_go_for_defence_and_bad_hand(self):
        """
        When we have 13 tiles in hand and someone declared a riichi
        """
        table = Table()

        tiles = self._string_to_136_array(sou='1259', pin='12348', honors='3456')
        table.player.init_hand(tiles)
        table.player.draw_tile(self._string_to_136_tile(man='6'))
        # discard here to reinit shanten number in AI
        table.player.discard_tile()

        self.assertEqual(table.player.ai.defence.should_go_to_defence_mode(), False)

        table.add_called_riichi(3)

        # our hand is pretty bad, there is no sense to push it against riichi
        self.assertEqual(table.player.ai.defence.should_go_to_defence_mode(), True)
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:20,代码来源:tests_defence.py

示例11: test_add_safe_tile_after_discard

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_add_safe_tile_after_discard(self):
        table = Table()
        table.add_called_riichi(3)

        table.add_discarded_tile(1, self._string_to_136_tile(man='3'), False)
        table.add_discarded_tile(0, self._string_to_136_tile(man='4'), False)

        self.assertEqual(len(table.get_player(1).discards), 1)
        self.assertEqual(len(table.get_player(2).discards), 0)
        self.assertEqual(len(table.get_player(3).discards), 0)

        self.assertEqual(len(table.get_player(1).safe_tiles), 1)
        self.assertEqual(len(table.get_player(2).safe_tiles), 0)
        self.assertEqual(len(table.get_player(3).safe_tiles), 2)

        # "2" is 3 man
        self.assertEqual(table.get_player(1).safe_tiles, [2])
        self.assertEqual(table.get_player(3).safe_tiles, [2, 3])
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:20,代码来源:tests_defence.py

示例12: test_dont_discard_safe_tiles_when_call_riichi

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_dont_discard_safe_tiles_when_call_riichi(self):
        table = Table()
        table.count_of_remaining_tiles = 70
        table.player.scores = 2000

        tiles = self._string_to_136_array(sou='12356789', pin='22678')
        table.player.init_hand(tiles)
        table.player.draw_tile(self._string_to_136_tile(honors='1'))
        table.player.discard_tile()
        table.player.draw_tile(self._string_to_136_tile(honors='1'))

        table.add_discarded_tile(1, self._string_to_136_tile(sou='1'), False)
        table.add_called_riichi(1)

        result = table.player.discard_tile()

        self.assertEqual(table.player.can_call_riichi(), True)
        self.assertEqual(self._to_string([result]), '1z')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:20,代码来源:tests_defence.py

示例13: test_should_go_for_defence_and_good_hand_with_drawn_tile

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_should_go_for_defence_and_good_hand_with_drawn_tile(self):
        """
        When we have 14 tiles in hand and someone declared a riichi
        """
        table = Table()
        table.has_aka_dora = True

        tiles = self._string_to_136_array(sou='2223457899', honors='666')
        table.player.init_hand(tiles)
        table.player.draw_tile(self._string_to_136_tile(man='8'))
        table.player.add_called_meld(self._make_meld(Meld.PON, sou='222'))
        table.player.add_called_meld(self._make_meld(Meld.PON, honors='666'))

        self.assertEqual(table.player.ai.defence.should_go_to_defence_mode(), False)

        table.add_called_riichi(3)

        result = table.player.discard_tile()
        self.assertEqual(self._to_string([result]), '8m')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:21,代码来源:tests_defence.py

示例14: test_find_impossible_waits_and_honor_tiles

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_find_impossible_waits_and_honor_tiles(self):
        table = Table()

        tiles = self._string_to_136_array(honors='1133', man='123', sou='456', pin='999')
        table.player.init_hand(tiles)

        table.player.add_called_meld(self._make_meld(Meld.CHI, man='123'))
        table.player.add_called_meld(self._make_meld(Meld.CHI, sou='456'))
        table.player.add_called_meld(self._make_meld(Meld.PON, pin='999'))

        table.add_discarded_tile(1, self._string_to_136_tile(honors='1'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(honors='3'), False)

        table.add_called_riichi(2)

        table.player.ai.defence.hand_34 = self._to_34_array(table.player.tiles)
        table.player.ai.defence.closed_hand_34 = self._to_34_array(table.player.closed_hand)
        result = table.player.ai.defence.impossible_wait.find_tiles_to_discard([])

        # dora is not safe against tanki wait, so let's hold it
        self.assertEqual([x.value for x in result], [EAST, WEST])
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:23,代码来源:tests_defence.py

示例15: test_find_common_safe_tile_to_discard

# 需要导入模块: from game.table import Table [as 别名]
# 或者: from game.table.Table import add_called_riichi [as 别名]
    def test_find_common_safe_tile_to_discard(self):
        table = Table()

        tiles = self._string_to_136_array(sou='2456', pin='234478', man='2336')
        table.player.init_hand(tiles)

        table.add_discarded_tile(1, self._string_to_136_tile(sou='6'), False)
        table.add_discarded_tile(1, self._string_to_136_tile(pin='5'), False)

        table.add_discarded_tile(2, self._string_to_136_tile(pin='5'), False)
        table.add_discarded_tile(2, self._string_to_136_tile(sou='6'), False)

        table.add_called_riichi(1)
        table.add_called_riichi(2)

        # for this test we don't need temporary_safe_tiles
        table.get_player(1).temporary_safe_tiles = []
        table.get_player(2).temporary_safe_tiles = []

        result = table.player.discard_tile()

        self.assertEqual(self._to_string([result]), '6s')
开发者ID:MahjongRepository,项目名称:tenhou-python-bot,代码行数:24,代码来源:tests_defence.py


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