MahjongRepository / tenhou-python-bot

Bot for tenhou.net riichi mahjong server written in Python
MIT License
201 stars 52 forks source link

Crashed after kan #127

Closed Nihisil closed 3 years ago

Nihisil commented 3 years ago

Бот крашится при попытке объявить чанкан.

Воспроизвести: python reproducer.py --log 2020102208gm-0009-0000-1d3d08c8 --player Ichihime --wind 5 --honba 1 --tile 1z --action draw

Лог:

Traceback (most recent call last):
  File "reproducer.py", line 336, in <module>
    main()
  File "reproducer.py", line 332, in main
    parse_args_and_start_reproducer()
  File "reproducer.py", line 327, in parse_args_and_start_reproducer
    reproducer.reproduce(opts.player, opts.wind, opts.honba, opts.tile, opts.action, opts.n)
  File "reproducer.py", line 76, in reproduce
    table.player.should_call_kan(tile, False, table.player.in_riichi)
  File "/home/nihisil/work/tenhou-python-bot/project/game/player.py", line 218, in should_call_kan
    return self.ai.should_call_kan(tile, open_kan, from_riichi)
  File "/home/nihisil/work/tenhou-python-bot/project/game/ai/main.py", line 296, in should_call_kan
    new_waits_count = self.hand_builder.count_tiles(new_waiting, tiles_34)
  File "/home/nihisil/work/tenhou-python-bot/project/game/ai/hand_builder.py", line 287, in count_tiles
    n += 4 - self.player.number_of_revealed_tiles(tile_34, tiles_34)
  File "/home/nihisil/work/tenhou-python-bot/project/game/player.py", line 237, in number_of_revealed_tiles
    assert revealed_tiles <= 4, "we have only 4 tiles in the game"
AssertionError: we have only 4 tiles in the game

image