| Re: Ускорить расчет раскладов в покере...   ID:23821   ответ на 23702   | 
Пт, 18 июня 2004 06:17 [#]  | 
     
      | 
 
	
	
	| Mariner | 
	 | 
	
	
	    
	    
	    
	
	
	
	  (иконки IM)
	Форумы CasinoGames 
	
	 | 
 
  | 
 
    
        Приветствую! 
 
| 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 
  вычитаем флэши 
конец 
 
Вот и все. 
 
Зы. Кто сможет реализовать шустро, велкам в мыло с исходником.  
        
     | 
 
 |  
  |