|
1 / 1 / 1
Регистрация: 28.07.2013
Сообщений: 41
|
|||||||||||
Ошибки в покерной игре: 'players' was not declared in this scope24.05.2015, 18:37. Показов 2306. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|
Теория всего 6. Судьба неотвратима?
anaschu 21.07.2026
Математическое доказательство Судьбы: Точка бифуркации в едином тензорном ядре Модели ВсегоСвежее обновление питоновского ядра «Soil Chemistry 2. 0» дало нам неопровержимое математическое. . .
|
Теория всего 5. ядро Теории Всего: Математический изоморфизм репликаторов и иллюзия свободы воли
anaschu 21.07.2026
Единое ядро Теории Всего: Математический изоморфизм репликаторов и иллюзия свободы воли
Главная задача «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы» (аттракторов. . .
|
сукцессия 37. Внедрил дипсик в свой оркестр из ИИ. У него закончилось пространство чата, потому опубликую выводы из его работы здесь
anaschu 21.07.2026
====================================================================
КОНТЕКСТ: Моделирование микоризной сукцессии (AM → ECM)
====================================================================
. . .
|
|
сукцессия 36. Делаю прогоны модели около порога бифуркации (превращения эндо микоризы в экто микоризу)
anaschu 21.07.2026
СУКЦЕССИЯ МИКОРИЗ: КАК МАТЕМАТИКА ОБЪЯСНЯЕТ ПОДЗЕМНУЮ ВОЙНУ
Мы привыкли думать, что лес — это деревья. А грибы — это то, что мы собираем в корзинку осенью. Но если заглянуть под землю, окажется,. . .
|
ИИ и человечность
kumehtar 21.07.2026
Забавно, что общаясь с ИИ, я замечаю, насколько он высказывается умно, и насколько верит в людей. Он умеет прощать. Он знает как отвечать не обесценивая опыт других людей, даже если сам не верит. Он. . .
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|