Re: Ускорить расчет раскладов в покере... ID:23821 ответ на 23702 |
Пт, 18 июня 2004 06:17 [#] |
|
|
Приветствую!
NoSound | Не понял насчет табличек, давай поподробнее. | В общем вчера закончил реализацию расчта пустых комбинация через таблицы при игре дилера от ТК. Результат меня разочаровал. Скорости не прибавилось, а наоборот даже убавилось. Может что не так сделал.
Идея следующая.
Всего пустые комбинации получаются из 1113 пяти ранговых комбинаций. Поэтому значения рангов заранее извеcтны и их можно поместить в массив [1..1113][1..5].
Далее. Значенни каждого ранга карты меняется от 0 до 4, т.е. 0 нет карт в ранге .. 4 все карты есть в ранге.
Число пустых комбинаций в заданной пятикарточной комбинации получается перемножением числа свободных карт в ранге n1*n2*n3*n4*n5. Эти произведения тоже можно посчитать заранее и поместить в массив с числом элементов 5^5=3125 вида [0..4,0..4,0..4,0..4,0..4].
Теперь осталось посчитать возможные флэши, тоже в виде таблички, с числом элементов 2^13=8192.
Далее расчет очень прост.
цикл от 1 до 1113
суммируем число пустых комбинаций
конец
от 1 до 4
вычитаем флэши
конец
Вот и все.
Зы. Кто сможет реализовать шустро, велкам в мыло с исходником.
|
|
|