![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Как закодировать силу покерной руки, чтобы можно было
а) легко сравнить 2 руки обычными мат. операциями
б) достаточно легко проверять при отладке
Как-то так: REC854, X222BB
Первая буква означает тип комбинации. От Z стрит-флеш до R – старшая карта. Дальше идет перечисление 5ти карт входящих в комбинацию в порядке старшинства. Старшинство, естественно с учетом типа комбинации, например у фуллхауса сначала идут карты образующие тройку, потом карты образующие пару. Для “кольцевого” стрита туз будет в конце, как самая младшая карта. Масти отбрасываются – они на сравнение не влияют.
Осталось перекодировать сами карты, AKQJT –> FEDCB . Букву A убрал чтоб не сбивала с толку
Теперь все легко сравнивается X222BB > REC854, однозначно.