![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
Решил написать сетевой покер с калькулятором. То есть игроку подсвечивается какова вероятность того, что его рука сильнейшая.
по какому принципу писать калькулятор? Также возник ещё вопрос. Возможно ли часть проекта написать на C++ (например калькулятор), а с кнопочками и графикой возиться на c# ? |
|||
|
||||
Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 4 Всего: 39 |
Может стоит изучить теорию вероятности, теорию игры покер, выучить язык программирования любой.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
базовые знания присутствуют
|
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
вот смотрите. Рассматриваем традиционный техасский холдем.
я, зная свои карты и карты, открытые на столе могу, перебирая все остальные карты(там где они должны открыться позднее) получить вероятность выпадения какой либо комбинации. будь то пара, флэш etc. получается шансы соперников с математической точки зрения равны и зависят только от того какие карты выложены на столе. Таким образом я должен делать такой же перебор для них, как и для себя и разница только в том, что их карманные карты мне неизвестны и чтобы получить суммарный шанс оппонентов надо эту вероятность умножить на их(оппонентов) количество. таким образом из этого алгоритма я могу шансы выпадения пары сета карэ....для себя и для оппонентов. Возникает вопрос, а как посчитать вероятность того, что моя комбинация будет сильнее комбинации оппонентов? Это сообщение отредактировал(а) redwhite90 - 5.1.2012, 13:35 |
|||
|
||||
sQu1rr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 597 Регистрация: 11.11.2008 Где: london Репутация: 3 Всего: 13 |
Предпологая что у противников сильнейшая из возможных комбинаций. Стрит и флэш можно вычеслить сразу (может ли быть), каре и фул-хаус тоже. Потом считаете проценты что у противника эта комбинация. Вот вам и решение |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
не, это как раз я могу посчитать.
То есть у меня есть вероятность выпадения всякой комбинации для игрока и для оппонентов. Как исходя из этих данных узнать вероятность того, что победа будет за мной. ведь может быть мне придёт стрит, а при этом у оппонента сложится стрит, но более старший. Это сообщение отредактировал(а) redwhite90 - 5.1.2012, 19:19 |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
Если взять, что идёт турнир из 5 человек. Для оценки шансов на победу на префлопе(известны только 2 карты игрока) получается надо перебрать кучу комбинаций карт да ещё и выполнить проверку на соответствие комбинации.
в нашем случае количество перебираемых карт 54-2=52 таким образом количество разных сочетаний из 5 карт на столе(флоп, тёрн и ривер) будет 52!/(52-5)!=52*51*50*49*48=311875200(311 млн) + надо ещё перебрать все возможные карты у противников (их остаётся 4), у каждого по 2 карты => ещё 47*46.......*40=12678926198400(12трлн) таким образом приблизительно надо перебрать 12трлн * 311 млн комбинаций карт. а это число с 16 нулями получается.+ каждое сочетание карт надо проверить на наличие комбинации. Даже это не очень тривиальная задача. а тут сколько раз это сделать надо. покерные калькуляторы делают это мгновенно. Что делать? как быть? |
|||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
Зачем перебирать карточные сочетания, когда нужны лишь покерные комбинации? А их весьма ограниченное число. -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
||||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
вот смотри. у тебя есть 2 карты. дама и 6-ка. какова вероятность того, что после обмена 6-ки ты получишь что-то лучше? это ты можешь посчитать?
|
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
||||
|
||||
feodorv |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2214 Регистрация: 30.7.2011 Репутация: 11 Всего: 45 |
Есть специальные таблицы. Такие можно найти, например, в книге Роя Раундера "Покерная математика". -------------------- Напильник, велосипед, грабли и костыли - основные инструменты программиста... |
|||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
||||
|
||||
redwhite90 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 14.7.2011 Репутация: нет Всего: нет |
никаких мыслей больше?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |