|
#16
|
||||
|
||||
Зачем так сложно? Если вся соль в функции, возвращающей комбинацию по N{2..7} картам - подождите полчаса, сейчас сделаем
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#17
|
||||
|
||||
Ну как я понял, нужно не сохранить (перебрать все возможные варианты) а была нужна функция которая по 5 картам скажет - что это за комбинация.
А уже саму функцию можно использовать для отбора лучших комбинаций... 30754167347537682B6558734950587735653067372B377037 4F58342F4344333875346739653733356649672F664C753869 4441796A4D774D4441704B536B70494F5878362B6767392B58 7837536B704B536B3D Последний раз редактировалось Konrad, 17.02.2011 в 00:39. |
#18
|
|||
|
|||
По поводу букв либо названий комбинаций, то лучше сделать как у меня было:
1 - флэш рояль 2 - стрейт флэш 3 - каре 4 - фул хаус 5 - флэш 6 - стрэйт 7 - сет 8 - две пары 9 - пара 0 - ничего Так короче и меньше места в памяти занимает. А также потом при сравнении удобно у кого старше определить, в число перевел и сравниваешь просто как числа. DJ PhoeniX, покажи нам мастер-класс. Konrad, ты как-то сложно выразился. Проще говоря нужна функция которой на вход дается 5 карт (а лучше 7, но это сложнее). И не от 2-х до 7, это совсем не нужно. Либо 5 либо 7. Это я там в своем примере заморачивался и сделал универсально, так совсем не обязательно. Так вот на вход ей допустим передаем 7 карт, а на выходе получаем строку с комбинацией. Вот и все что нужно пока. Последний раз редактировалось ak3000, 17.02.2011 в 10:45. |
#19
|
||||
|
||||
Цитата:
сделать s:integer; Что-то терзает меня смутное сомнение что знаний не хватает сделать?))))) Если так ======================>>>>>>>>>>>>>>>>раздел работа. Цитата:
Такс-с... проясним ситуацию) Я написал так сложно потому что нужна была скорость. Сравни время выполнения моего варианта со своим. Я же справшивал - как нужно: 1 2 3... Да, согласен, когда писал использовал довольно сложную теорию. Цитата:
К1,К2,К3,К4,К5 - иесть те 5 карт. на выходе - получаем результат. Последний раз редактировалось Konrad, 17.02.2011 в 11:34. |
#20
|
|||
|
|||
Твой код я то могу подправить, не проблема конечно.
Но у тебя пока что недоделанная функция, она возвращает пока только название старшей комбинации. |
#21
|
||||
|
||||
Цитата:
А изучать 32 урока по Poker 39 статьи по Poker ActiveX в Poker Poker 2005 Секреты Poker 2006 - Справочное пособие Poker 6/7 базы данных и приложения Poker 7: Для профессионалов Poker Russian Knowledge Base Poker и технология COM Poker на примерах особого желания нету. Напиши что не так - будет видно... |
#22
|
|||
|
|||
Еще раз, задача состоит в том чтобы определить чья комбинация из присутствующих игроков сильнее! Если мы просто определяем что у 1-ый собрал пару, 2-ой тоже пару, и 3-ий игрок тоже собрал пару, то мы еще ничего не можем сказать о том кто победил, а кто нет. Я ведь пример приводил что возвращает моя программа. Поэтому, нужно определить не только что у него например "пара" или "сет" или "флэш", а нужно еще определить пара чего, например пара королей. Если собран флэш то нужно перечислить все 5 карт по старшенству упорядоченные, которые в него входят. Если это стрит то нужно указать старшую карту в этой комбинации, это раз. Далее, если мы указали еще не все 5 карт (т.к. комбинация в покере ВСЕГДА состоит из 5 карт), то их нужно указать. Например если у нас есть пара королей, функция возвращает "9КАQJ" - что означает что у нас есть пара (9) королей (К) и оставшиеся 3 карты старшие это туз (A) дама (Q) и валет (J). Если у нас собрался стрэйт, то мы просто возвращаем "6J" - т.е. 6 - указывает на то что собран стрэйт, а J - это старшая карта, таким образом нашей комбинацией является JT987, а зашифрована она в виде "6J".
|
#23
|
||||
|
||||
А завтра посетит форум студент мехфака и будет просить сделать ему программу по термодинамике, где все как он говорит просто, вот берешь
"Замкнутая (обменивается с термостатом только теплом) система — минимум свободной энергии. Система с фиксированными температурой и давлением — минимум потенциала Гиббса......" Но если термодинамику я еще могу почитать, так как возможно когда-то пригодится, то на какой нужен мне покер? Для тебя очевидно что тройка того и пара то - мега комбинация, для меня все оно одино и то же. А потому - составление ТЗ(технического задания) в виде - "та там вот мне нужно ну вот там такое ну как оно типа к=карта там ну оно же тут все просто" приводит к неожиданним порследствиям) Ладно) Последний раз редактировалось Konrad, 17.02.2011 в 14:44. |
#24
|
|||
|
|||
Цитата:
Я не знаю почему возникло такое непонимание, мне казалось что я все довольно понятно объясняю. Последний раз редактировалось ak3000, 17.02.2011 в 15:21. |
#25
|
|||
|
|||
Так ни у кого ничего и не получилось?
|
#26
|
|||
|
|||
Ура, товарищи, ура! Я нашел в чем ошибка у меня была. Теперь все работает как надо.
|
#27
|
|||
|
|||
Занимался аналогичным алгоритмом. И написал ну как то совсем по другому. Отсюда возник вопросик: а какую итоговую скорость Вы получили... Ну например за сколько времени получаются оценки всех возможных рук для Холдема (ну то есть для выборки 7 карт из 52). Ну или сколько раз в миллисекунду отрабатывает процедура (с характеристиками железа на котором оно отрабатывает, если можно)
|
#28
|
||||
|
||||
Цитата:
Так что запускай и смотри на время. |
#29
|
|||
|
|||
Производительность Вашего алгоритма
Да посмотрел я ваш код....
И что-то мне подсказывает что с производительностью всё плохо. То есть совсем. Именно поэтому нигде не опубликованы результаты этой производительности. Ну результаты простейших тестов то есть: 1. Дро-покер, Определение старшинства всех возможных комбинаций 5 из 52, всего комбинаций: 2 598 960. 2. Холдем. Определение старшинства всех возможных комбинаций 7 из 52, всего комбинаций: 130 254 000: 3. Холдем, определение вероятности победы конкретной руки в сравнении со всеми остальными возможными: (например Туз пик, Туз треф против всех возможных сочетаний оставшихся карт). Возможных комбинаций 2 097 572 400 Есть подобные результаты? |
#30
|
|||
|
|||
Производительность алгоритма
Ну или на худой конец количество рук которые алгоритм оценивает в секунду?
|