![]() |
|
Модераторы: bsa |
![]()
|
|
| odys |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.11.2008 Репутация: нет Всего: нет |
Пишу модель игры в покер. Возникла проблема с опознанием двух пар.
в FirstFace[i] содержится номинал i-ой карты (без масти, масть содержится в другом массиве указателей). к примеру {2, В, T, 2, B)
Код всей программы. если возникнет необходимость... Прошу прощения надо уйти до 12, и не хватило времени привести ее в нормальный стиль. Да и не думаю что она вся понадобиться.
|
||||
|
|||||
| zim22 |
|
|||
|
depict1 ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2682 Регистрация: 15.1.2009 Где: Украина Репутация: 29 Всего: 69 |
ты используешь оператор запятая в условии. это значит, что будет проверяться только самое правое условие m != j. Остальные будут проигнорированы. Попробуй например скомпилить это и посмотри, какое условие выполнится:
|
|||
|
||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Вот такого плана можно попробовать вариант. Но на самом деле это не является решением проблемы. 1. По такому вот алгоритму ты вместо Full House выдашь Two Pair. 2. Для комбинаций карт, в которых первая идет пара (Two Pair, 3 of k, Full House, 4 of k) твоя программа будет выдовать пару. (Могу ошибаться). Например: 2 2 3 3 4 ; 2 2 2 5 6; 2 2 2 3 3; 2 2 2 2 4. Для всех этих комбинаций будет выигрыш - пара. Предлагаю другой вариантв на квазипсевдокоде с коментарием
После такого цикла тебе останется написать условие на флэшь, стрит и их гибрид В конце программы проверяешь "флажки", от старшего выигрыша к младшему, где true - там и победа. -------------------- Слава Україні! |
||||
|
|||||
| odys |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.11.2008 Репутация: нет Всего: нет |
Изначально я планировал сделать приблизительно так:
Расположить в порядке возростания позиции в покере, и если к примеру выполнялось условия пара - присвоить индикатору 1, две пары - 2, 3 of k - 3. И так далее. Таким образом пара бы поглащалась в более сильных условиях, и не только пара. Застрал только на двух парах. Хотел сделать быстро, и понадеелся, что в цикле можно довать несколько условий, но ошибся... Сейчас буду смотреть. Спасибо за код) |
|||
|
||||
| Dobermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 992 Регистрация: 7.1.2008 Репутация: нет Всего: 0 |
А чО, карточные боты еще в моде???
|
|||
|
||||
| odys |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.11.2008 Репутация: нет Всего: нет |
Нашел очень забавный выход))) Спасибо всем тема исчерпана)
|
|||
|
||||
| Dobermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 992 Регистрация: 7.1.2008 Репутация: нет Всего: 0 |
Какой?
|
|||
|
||||
| odys |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 9.11.2008 Репутация: нет Всего: нет |
Смысл в том что одна пару комп найдет 1 раз, две пары 2 раза, 3 одного вида найдет 3 раза, фул хаус 4 раза, и 4 одного вида 6 раз... Теперь думаю над стритом) |
|||
|
||||
| Gluttton |
|
|||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: нет Всего: 54 |
Стрит:
1. Находим наименьшую карту. 2. Ищем мин.+(1, ..., 4) 3. Если хоть одну не находим, то не стрит, если цикл "доехал" до конца, то стрит.
И ещё, рекомендую посмотреть в сторону enum вместо char *, они специально придуманы для обозначения дней недели, света светофора и мастей -------------------- Слава Україні! |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |