def test_init_round(self): table = Table() round_number = 4 count_of_honba_sticks = 2 count_of_riichi_sticks = 3 dora_indicator = 126 dealer = 3 scores = [250, 250, 250, 250] table.init_round(round_number, count_of_honba_sticks, count_of_riichi_sticks, dora_indicator, dealer, scores) self.assertEqual(table.round_number, round_number) self.assertEqual(table.count_of_honba_sticks, count_of_honba_sticks) self.assertEqual(table.count_of_riichi_sticks, count_of_riichi_sticks) self.assertEqual(table.dora_indicators[0], dora_indicator) self.assertEqual(table.get_player(dealer).is_dealer, True) self.assertEqual(table.get_player(dealer).scores, 25000) dealer = 2 table.get_main_player().in_tempai = True table.get_main_player().in_riichi = True table.init_round(round_number, count_of_honba_sticks, count_of_riichi_sticks, dora_indicator, dealer, scores) # test that we reinit round properly self.assertEqual(table.get_player(3).is_dealer, False) self.assertEqual(table.get_main_player().in_tempai, False) self.assertEqual(table.get_main_player().in_riichi, False) self.assertEqual(table.get_player(dealer).is_dealer, True)
def test_calculate_safe_tiles_to_discard(self): table = Table() table.get_main_player().init_hand([3, 5, 6, 7, 8]) defence = Defence(table) table.players[1].in_riichi = True table.players[1].add_discarded_tile(2) tile = defence.calculate_safe_tile_against_riichi() # 0, 1, 2, 3 - is a same tile self.assertEqual(tile, 3)
class Client(object): statistics = None id = '' position = 0 def __init__(self, use_previous_ai_version=False): self.table = Table(use_previous_ai_version) self.statistics = Statistics() self.player = self.table.get_main_player() self.id = make_random_letters_and_digit_string() def authenticate(self): pass def start_game(self): pass def end_game(self): pass def init_hand(self, tiles): self.player.init_hand(tiles) def draw_tile(self, tile): self.table.count_of_remaining_tiles -= 1 self.player.draw_tile(tile) def discard_tile(self): return self.player.discard_tile() def call_meld(self, meld): # when opponent called meld it is means # that he will not get the tile from the wall # so, we need to compensate "-" from enemy discard method self.table.count_of_remaining_tiles += 1 return self.table.get_player(meld.who).add_meld(meld) def enemy_discard(self, player_seat, tile): self.table.get_player(player_seat).add_discarded_tile(tile) self.table.count_of_remaining_tiles -= 1 for player in self.table.players: if player.in_riichi: player.safe_tiles.append(tile) def enemy_riichi(self, player_seat): self.table.get_player(player_seat).in_riichi = True
def test_init_hand(self): table = Table() tiles = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] table.init_main_player_hand(tiles) self.assertEqual(len(table.get_main_player().tiles), 13)