Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.08.2011, 11:11
gnollik вне форума Посмотреть профиль Отправить личное сообщение для gnollik Найти все сообщения от gnollik
  № 1  
Ответить с цитированием
gnollik

Регистрация: Jun 2011
Сообщений: 20
По умолчанию сравнение комбинаций в покере

Здравствуйте, собственно такой вопрос, как реализовать сравнение комбинаций... был бы обычный покер на 5 карт, там еще более/менее понятно, но мне надо реализовать ОМАХУ, где всего 9 карт, 4 своих и 5 общих, и надо использовать не любые 5 карт из них, а 2 своих и 3 общих. Как искать одинаковые я примерно представляю, с цветом тоже проблем не должно быть, но вот как определить "улицу" (5 карт подряд, например 7,8,9,10,В) при том что может быть например в общих 7,9,В, а на руках 8 и 10 (тоесть искать последовательности раздельно нет смысла) - непонятно... (

Старый 22.08.2011, 11:16
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 2  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
У всех карт назначить индекс. Добавить в массив индексы карт на руках и на столе, отсортировать по-возрастанию.
Завести счетчик.
Затем в цикле посмотреть, если текущий элемент массива больше предыдущего на 1 - плюсовать счетчик. Если счетчик == 5 (или сколько там) - последовательность есть. Сравниваете с шаблоном.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 22.08.2011, 11:30
gnollik вне форума Посмотреть профиль Отправить личное сообщение для gnollik Найти все сообщения от gnollik
  № 3  
Ответить с цитированием
gnollik

Регистрация: Jun 2011
Сообщений: 20
да, я так и хотел сделать, но ведь в таком варианте может выпасть не именно 2 своих и 3 общих карты, а например наоборот 3+2, или 4+1, а не 2+3... тоесть еще и это надо потом проверять... Ну в принципе я представляю себе как ето все сделать, но тут столько проверок получается, думал мб зря придумываю велосипед и на самом деле уже давным давно под такое написаны методы и алгоритмы...

Старый 22.08.2011, 11:38
DaFive вне форума Посмотреть профиль Отправить личное сообщение для DaFive Посетить домашнюю страницу DaFive Найти все сообщения от DaFive
  № 4  
Ответить с цитированием
DaFive
 
Аватар для DaFive

Регистрация: May 2008
Адрес: {0,0}
Сообщений: 754
Записей в блоге: 1
Отправить сообщение для DaFive с помощью ICQ
А какая разница?
У вас есть набор своих карт (массив, допустим) и набор карт на столе.
Соединяете 2 массива индексов в один и сортируете его.
__________________
Кодинг, багинг, алгоритминг. me @

Старый 22.08.2011, 11:52
gnollik вне форума Посмотреть профиль Отправить личное сообщение для gnollik Найти все сообщения от gnollik
  № 5  
Ответить с цитированием
gnollik

Регистрация: Jun 2011
Сообщений: 20
да, и в результате я получаю что в етом объединенном массиве есть нужная мне последовательность, но все равно мне потом еще надо проверить какие карты были использованы в етой последовательности, если 4 из 1го массива и 1 из 2го, то мне такая последовательность не подходит из-за правил, мне нужна только та, которая состоит из 3х карт 1го массива и 2х карт 2го массива. + из 9 карт ведь может оказаться так что будет несколько последовательностей, например 6,7,8,9,10,В,Д,К,Т - тогда у меня получится 5 последовательностей (6-10,7-В,8-Д,9-К и 10-Т), мне их надо все сохранить, потом проверить какие из них подходят по правилам (3+2) и потом еще если таких окажется больше 1й, то еще и на старшинство сравнивать придется(ну со старшинством проблем нет, ето понятно как сделать). В общем получается ничего особо сложного нет, просто надо делать несколько промежуточных/временных переменных, где сохранять результаты перебора, а потом из них выбирать подходящие/лучшие...

Старый 22.08.2011, 12:57
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 6  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Можно каждой карте прописать потенциальные выигрышные вариации. Т.е. для карты "валет пик" потенциальными выигрышными вариацияму будут "дама пик" и "десятка пик", и проверять наличие потенциальных выигрышных вариантов (ну и помечать те, которые уже проверены). Я, к сожалению, не знаю правил покера, поэтому мне сложно предложить что-то более конкретное, но в принципе, для такого типа игр, в общем, оно бы работало, но может есть более простой способ.
__________________
Hell is the possibility of sanity

Старый 22.08.2011, 13:46
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 7  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Ваша комбинация "улица" по русски называется "стрейт" или "стрит" и это не от слова "street", а от слова "straight"
__________________
Отряд Котовскага

Старый 22.08.2011, 13:57
gnollik вне форума Посмотреть профиль Отправить личное сообщение для gnollik Найти все сообщения от gnollik
  № 8  
Ответить с цитированием
gnollik

Регистрация: Jun 2011
Сообщений: 20
Котяра, ну я в покер учился играть еще в 7 лет, тогда я не знал таких сложных слов как "straight". "street" мне было понятней ) Поетому по привычке и называю так... )

wvxvw, да ну тогда уж проще все таки просто делать сортировку по возрастанию и смотреть есть ли там идущие подряд карты.. Просто странно что нет каких то готовых решений, ведь я не первый кто пишет покер. Ну или если они и есть, то все самописные, которые в паблик не стремятся выкладывать...

Создать новую тему Ответ Часовой пояс GMT +4, время: 18:09.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 18:09.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.