|
1 / 1 / 1
Регистрация: 28.07.2013
Сообщений: 41
|
|||||||||||
Ошибки в покерной игре: 'players' was not declared in this scope24.05.2015, 18:37. Показов 2322. Ответов 26
Метки нет (Все метки)
Добрый день.
Наверно вы меня уже тихонько ненавидите, но я все же снова напишу сюда ![]() Я новичок - самоучка, и от этого у меня много пробелов в знаниях. Решил попробовать написать покерную игру, но получаю ошибку за ошибкой . В данный момент не могу понять, почему компилятор ругается, подскажите пожалуйста.Мой код: Кликните здесь для просмотра всего текста
Вот вывод компилятора: Кликните здесь для просмотра всего текста
Почему он не хочет дружить - ума не приложу... Буду благодарен любым замечаниям! P.S Если у кого то будет время бегло пробежаться по коду - буду премного благодарен замечаниям по общей архитектуре приложения, некорректности код и т. п.. Заранее благодарю!!!
0
|
|||||||||||
| 24.05.2015, 18:37 | |
|
Ответы с готовыми решениями:
26
Ошибки:х1,х2 was not declared in this scope Найти причины и способы исправления ошибки 'clrscr' was not declared in this scope (Dev C++) |
|
45 / 21 / 6
Регистрация: 28.02.2013
Сообщений: 194
|
|||||||||||
| 25.05.2015, 08:46 | |||||||||||
|
hand_evaluator.h
Кликните здесь для просмотра всего текста
hand_evaluator.cpp Кликните здесь для просмотра всего текста
Дальше в развитии идёт фсмка (finite state machine) покера. Которая инкапсулирует в себя все покерные правила (включая неполный райз, множественые боковые банки (side pots) и деление фишек чётко с правилами до цента. Её я планирую выложить в паблик чуть позже. Так вот всё это - полная ерунда в сравнении с тем этапом когда playerу понадобится член ballance
0
|
|||||||||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||
| 25.05.2015, 13:10 | ||||||
|
nefton, Если вы любите быструю езду, это не означает что нельзя использовать классы.
С++ для это и был создан чтобы получить максимальную производительность не переходя на прорву мэджикнамберов и не расширяемость.
0
|
||||||
|
45 / 21 / 6
Регистрация: 28.02.2013
Сообщений: 194
|
||||||||||||||||
| 25.05.2015, 15:40 | ||||||||||||||||
надо:
Замечу привязка к битовой карте (которая должна быть гдето описанна по русски отдельно) - осталась и все магические номера соответственно А теперь самое интересное чем теоретики отличаются от практиков ))) Hand - рука - вы вообще представляете что это и как с этим работать? она состоит из 5ти карт (но выбирается из 7ми) и самое главное её отношение с другими руками. она их либо "бьёт" либо не бьёт либо они одинаковые где перегрузка операторов >,<,>=,<=,==,!= ??? и главное на что интересно будет похож этот код???? ) А ещё бывает стрит A2345, А вот стрита KA234 не бывает Да и вообще функция изстрит - просто вспомогательная. Реально надо только 1 функция перевода 7 карт в руку (4х байтное число) которое можно >,<,>=,<=,==,!= И самое главное. Вы действительно думаете что карта в виде класса удобнее? Неужели есть в жизни хоть 1 ситуация где функции string CardToString(card_t card) мало???? Мало того. Мне вообще за годы покер писательства ниразу не приходилось заглядывать внутрь этих файлов.
0
|
||||||||||||||||
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
||||||||||||
| 25.05.2015, 16:58 | ||||||||||||
|
Я не занимался картами столько лет, точнее я вообще ими не занимался и о покере ничего не знаю ![]() ![]() И собственно я написал лишь компайл тайм сжатие любой руки и не более. ( и я сжал в long, ибо не вкурил быстро ваш вариант) И хотел показать что всё можно инкапсулировать и получить хорушую производительность на вашу фразу:
. . Памяти тут экономится несказанно мало, процессор нужно смотреть насколько часто нужно вам строковое представление, предполагаю что вообще никогда , поэтому как-то неважен этот момент, но не тру ООП (если у меня добавить такую штуку, то тоже сжатие изменится) Я лишь хотел показать что от ничего не говорящих конструкций:
![]() И я в примере немного загнался, в голове прочно сидел массив карт, поэтому появились constexpr, можно даже легче и без них сжать.
0
|
||||||||||||
|
45 / 21 / 6
Регистрация: 28.02.2013
Сообщений: 194
|
|
| 25.05.2015, 17:46 | |
|
Перестаньте писать классы
И рука (7 карт) компонуются в число не для экономии памяти или чегото там, а для того чтоб сравнить руки у 5ти человек к примеру кто победил. Кроме моего подсчёта силы руки есть ещё с десяток вариантов, написанных независимо в разное время в разных частях света. И все они битовые ![]() Ну есть конечно не битовые - только все что мне встречались - с ошибками. Тоесть не считают правильно все руки ![]() Если бы использование классов реально привело б к хоть какойто удобочитаемости.... но это не тот случай. Тут не будет понятнее с классами. А вот скорость тут очень надо. В самом примитивном калькуляторе эта функция вызывается 100 000 раз при каждом подсчёте вероятностей.
0
|
|
|
1379 / 406 / 144
Регистрация: 22.10.2014
Сообщений: 872
|
|||
| 25.05.2015, 18:34 | |||
![]() И удобочитаемость, это для вас удобно, вы много разных реализаций повидали и понимаете всю математику, а я только вашу, и мне она заходит тяжко. Это как еслиб я вместо инлайна умножение матриц в 3д явно писал))) (конечно неравноценный пример, но всё же). Я не предлагаю переписать вам ваш проект, я за-то чтобы кто будет это читать понимали что есть такая возможность, не только для динамических рук, но и сравнение со статическими руками(разными комбинациями из правил игры)
0
|
|||
|
1 / 1 / 1
Регистрация: 28.07.2013
Сообщений: 41
|
|
| 28.05.2015, 16:28 [ТС] | |
|
Всем спасибо, кто откликнулся, но вы меня напугали
я же новичек...Спасибо за коды, интересно, поучительно, но не все понятно. А так же хотелось бы уточнить: чем плохи классы? Роберт Лафоре учил создавать и не стесняться.
0
|
|
| 28.05.2015, 16:28 | |
|
При запуске в code::blocks появляются ошибки "<название> was not declared in this scope" Список с дробями: Variable or field 'input' declared void 'pd' was not declared in this scope Ошибки "... was not declared in this scope" '...' was not declared in this scope Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|