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

Special melding rules for honitsu/chinitsu #84

Open
bogachev-pa opened this issue Sep 3, 2018 · 0 comments
Open

Special melding rules for honitsu/chinitsu #84

bogachev-pa opened this issue Sep 3, 2018 · 0 comments

Comments

@bogachev-pa
Copy link
Collaborator

bogachev-pa commented Sep 3, 2018

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

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

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

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

@bogachev-pa bogachev-pa added this to the v0.4 milestone Sep 3, 2018
bogachev-pa added a commit that referenced this issue Sep 3, 2018
@Nihisil Nihisil removed this from the v0.4 milestone Sep 17, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants