pokerfrog ([personal profile] pokerfrog) wrote2017-01-12 05:44 pm

Сила руки

Как закодировать силу покерной руки, чтобы можно было

а) легко сравнить 2 руки обычными мат. операциями

б) достаточно легко проверять при отладке

Как-то так: REC854, X222BB

Первая буква означает тип комбинации. От Z стрит-флеш до R – старшая карта. Дальше идет перечисление 5ти карт входящих в комбинацию в порядке старшинства. Старшинство, естественно с учетом типа комбинации, например  у фуллхауса сначала идут карты образующие тройку, потом карты образующие пару. Для “кольцевого” стрита туз будет в конце, как самая младшая карта. Масти отбрасываются – они на сравнение не влияют.

Осталось перекодировать сами карты, AKQJT –> FEDCB . Букву A убрал чтоб не сбивала с толку

Теперь все легко сравнивается X222BB > REC854, однозначно.