MahjongRepository / tenhou-python-bot

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

Bad meld #129

Closed Nihisil closed 3 years ago

Nihisil commented 3 years ago

Воспроизвести: python reproducer.py --log 2020102208gm-0009-0000-40337c9c --player Xenia --wind 3 --honba 0 --action enemy_discard --tile 1s

image

bogachev-pa commented 3 years ago

Вариант подхода:

  1. смотрим говорит ли нам стратегия открываться и на чем если нет угроз за столом все как раньше, если есть то:
  2. добавляем тайл в руку как будто он нам зашёл взакрытую, смотрим что хотим снести если хотим снести один из тайлов который положили в открытие (только учесть дубликаты) либо недопустимый после открытия тайл, то не открываемся в противном случае идем в пункт 3
  3. имитируем открытие в руке, смотрим лучший снос - если это недопустимый снос (тот же тайл или судзи), то не открываемся
  4. если лучший снос из пункта 3 это снос, противоречащий стратегии, то тоже не открываемся