Skip to content
This repository was archived by the owner on Jul 8, 2023. It is now read-only.
This repository was archived by the owner on Jul 8, 2023. It is now read-only.

Special melding rules for honitsu/chinitsu #84

@bogachev-pa

Description

@bogachev-pa

Дефолтное правило у нас сейчас такое, что мы открываемся только, если у нас уменьшается число шантен.
Но т.к. мы не умеем считать число шантен для конкретного яку, то для руки, например,
34556778m3p78s77z, возможность открыться на поне якухаев пропускалась, т.к. число шантен она формально не уменьшает (с точки зрения руки в общем виде это ишантен и им же рука и останется после открытия пона драконов, но с точки зрения хоницу это 3 шантена, а после открытия пона она будет иметь 2 шантена на хоницу). Чтобы покрыть большую часть таких кейсов, сделан квикфикс. Однако по-хорошему, мы должны сделать более умную логику.
Например, разбросать все тайлы невстраивающихся мастей по изолированным, а дальше смотреть:

  1. Уменьшает ли открытие число шантен.
  2. Даже если не уменьшает число шантен, посмотреть, увеличивает ли оно укеире при том же числе шантен.

Проверить можно на следующих примерах:
1134556m3p78s777z надо брать пон на 1m для хоницу
1134556778m3p78s надо брать пон на 1m для чиницу

Если у нас все еще есть тайлы других мастей, но пункт 2 всегда будет полезным открытием.
В принципе, второе можно распространить и на ситуацию, когда у нас нет тайлов других мастей - т.е. пробовать делать открытие, которое удлиняет форму. Однако этот случай посложнее и, возможно, стоит его пока отложить.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions