Офлайн-казино / Блэкджек / "Набор карт дилером". Исходник для програмеров.
  Страницы(2): [#  1  2  >  »]   Перейти вниз
"Набор карт дилером". Исходник для програмеров.   ID:48306 Вт, 28 августа 2001 00:00 [#] [»)
Pan Votruba Форумы Покер.ру
Наш "стойкий, оловянный солдатик" написал:
>> Не стыжусь выкладывать абсолютно. Все
>> замечания и нападки буду коллекционировать и
>> размещать на сайте. ... Пока еще ни кто мне не
>> прислал своих программных выкладок, ни
>> опровергающих ни подтверждающих мои цифры.
>> Но все говоруны знают, что эти цифры не
>> правильные. Не интересно, не пользуйся. Вот и
>> все. Вместо того что бы нападать, взял бы комп,
>> запрограммировал бы чего-нибудь и оперировал
>> бы своими цифрами. ... Докажи мне что я не прав.
>> Только докажи именно своими исследованиями.
>> Мне интересно, все кто говорят что эти цифры не
>> верны, откуда берут свои знание по БД. Из
>> интернета что ли?

ВСЕ источники хороши. Только надо КРИТИЧЕСКИ подходить к цифрам: ошибки могут быть у
каждого. А вот твердолобая позиция сводит на нет любой диалог...
Ниже приводится исходник кода для "Набора карт дилером". Рассмотрен тривиальный случай -
бесконечная, равномерная колода. Компилируйте, друзья, проверяйте-сравнивайте найденные
значения. Надеюсь, что это поможет Вам выработать устойчивый иммунитет против софт-
графоманов.

Удачи!
ПВ

======= Язык - С. Компилятор - любой из известных.
enum TYPE_COMB { LE16=-1, EQ17=0, EQ21=4, B_JACK=5, GE22=6 };
enum IND_CARDS { CARD_2=0, CARD_10=8, CARD_A=9 };

int ResultForDiler( int n_cards, int *Cards )
{ int ii, num_ace, sum_hard, sum_ace, sum_all;
for( ii=sum_hard=sum_ace=num_ace=0; ii<n_cards; !=CARD_A (sum_hard ) + 2)) cards[ii] if( ii++ {>= 22 )
return GE22;
} else
sum_ace += ((num_ace++)? 1 : 11);
}
sum_all = sum_hard + (((sum_hard + sum_ace) >= 22)? num_ace : sum_ace);
if( sum_all == 21 && n_cards == 2 )
return B_JACK;
return ((sum_all >= 22)? GE22 : (sum_all <= =1.; (++cards[n_cards-1] (res=ResultForDiler(n_cards, (sum_all-17)); ) * +=CurMul[n_cards-1]; 1 16)? : analhitdiler( cards))== cards[0]=is; cards[12]; cards[n_cards++]=CARD_2; curmul[12], curmul[n_cards]=CurMul[n_cards-1] curpart[0]=CurMul[0] curpart[12], curpart[n_cards]=(1./13.); curpart[n_cards]; double else for( if( ii=0; ii++ ii, ii<7; int is=CARD_2; is++ is, is<=CARD_A; le16 n_cards=1; n_cards, perccomb[10][7]; perccomb[is][ii]=0.; perccomb[is][res] res, void while( { }> CARD_A) ) {
if( --n_cards == 1 )
goto NEXT;
}
ii = n_cards - 1;
CurPart[ii] = ((Cards[ii] == CARD_10)? 4. : 1.)/13.;
CurMul[ii] = CurMul[ii-1] * CurPart[ii];
}
}
NEXT:;
}
// Здесь возможна печать найденных параметров:
// массив PercComb[10][7] соответствует таблице
// "Набор карт дилером", представленной на сайте
// www.lig.ru Отличие только при переборе на 8-ке. -
// На сайте опечатка: указано 24.27, правильно -
// 24.47
}

void main( void )
{ AnalHitDiler(); }


        
 
Сорри за форматирование кода... (Не виноватая я!) [NT]   ID:48307   ответ на 48306 Вт, 28 августа 2001 00:00 («] [#] [»)
Pan Votruba Форумы Покер.ру
.
        
 
Re: "Набор карт дилером". Исходник для програмеров.   ID:48311   ответ на 48306 Вт, 28 августа 2001 00:00 («] [#] [»)
alexpoker Форумы Покер.ру
C трудный для понимания язык, я предпочитаю Delphi Smile)))
        
 
Ложка дегтя ;)   ID:48313   ответ на 48306 Вт, 28 августа 2001 00:00 («] [#] [»)
KOHb Форумы Покер.ру
Я уже немного подзабыл C, приходится писать на других языках (а жаль...), и компилятора у меня
нет, но приведенный код компилироваться не будет. AnalHitDiler, вызываемая из main, нигде не
объявлена, в тексте масса синтаксических ошибок, стиль - откровенно дилетантский (или,
возможно, "старческий" - я встречал такой ужас у программера, начинавшего еще на
действительно БОЛЬШИХ ЭВМ). В общем, для выбранного тобой имиджа, Пан (эдакий игриво-
загадочный профессионал), намного лучше было бы воздержаться от этого поста.

Я уж молчу о том, что писать сейчас прикладные программы под DOS (с возможностью
распечатки результатов - гы Wink несколько странно.

зы. "Сорри за форматирование" не катит - форматированный код нормально вставляется через
буфер, все отступы сохраняются.

ззы. Это, безусловно, наезд. Но, надеюсь, обойдется без больших обид. Закончу в твоем стиле:

Удачи!
        
 
И я рискну вставить словечко...   ID:48319   ответ на 48306 Вт, 28 августа 2001 00:00 («] [#] [»)
Гриша Форумы Покер.ру
В отличие от других участников дискусии в "витке" Пана я нахожусь в наиболее "облегченной"
весовой категории по отношению к программированию. Вспоминаю 1-й курс, когда на
протяжении одного семестра нам преподавали эту науку - язык BASIC. Я кстати тогда впервые
увидел мышь у компьютера - настоящее чудо!!! В принципе этот язык наверняка уже устарел.
Причем от своего друга, занимающегося программированием, я слышал, что зачастую инновация
в этой области устаревает еще не дойдя до внедрения. Однако в одном из ранних
изданий "Теория БД" (конец 80-х) Питера Гриффина, который до сих пор считается наивысшим
авторитетом в области математической базы БД, я нашел программку на том же бородатом
бэйзике, которая также решает необходимую задачку:
10 FOR I= 1 TO 10
20 IF W(I)=0 THEN 270
30 B = B*W(I)/A
40 W(I)=W(I)-1
50 T =T+I
60 IF T >16 THEN 130
70 IF (T-11)*(T-7)>0 THEN 170
80 IF (I-1)*(J-1)=0 THEN 150
90 FOR L= 1 TO K
100 IF A(L)= 1 THEN 150
110 NEXT TO L
120 GO TO 170
130 F(T)=F(T)+B
140 GO TO 240
150 F(T+10)=F(T+10)+B
160 GO TO 240
170 A=A-1
180 K=K+1
190 A(K)=I
200 GO SUB 10
210 I=A(K)
220 K=K-1
230 A=A+1
240 W(I)=W(I)+1
250 T=T-I
260 B=B*A/W(I)
270 NEXT I
280 RETURN

где А = кол-во карт в колоде,
T=J=1-ая карта дилера,
W(I)=кол-во карт номиналом I,
К=0
В=1
F(X)=вероятность достижения общего кол-ва Х очков.

Возможно в/у программа уже не актуальна, но я хочу дать Саше шанс перепроверить свои
вычисления разными способами. Саша, кстати, одно из неписанных правил счетчика - не лишать
лоха его иллюзий относительно игры, так как если вообще не останется лохов, то не останется и
БД, так как эта игра станет уже невыгодна для казино. (Если для тебя слово лох является
обидным, можешь его заменить на любой другой, удобный для твоего ЭГО термин.) В этой связи
я в принципе уже сам не вижу мотивации для дальнейшего спасения тебя от тебя же самого (хотя
мне и импонирует твой подход к благотворительности).
        
 
АНДРЕЙ!!! - Глюки?   ID:48320   ответ на 48307 Ср, 29 августа 2001 00:00 («] [#] [»)
Pan Votruba Форумы Покер.ру
Андрей!
Редактирую свой СТАРТОВЫЙ пост. Вижу - все в норме. Сохраняю, выхожу...
И!... - Текст мало того, что форматируется (слипаются строки), НО исчезают отдельные
фрагменты кода. -(
Захожу снова в редактирование поста. - Все ок!.. - ????

Проверь пожалуйста.
ПВ
        
 
Да да, уже заметили - скоро поправим (БТ)   ID:48321   ответ на 48320 Ср, 29 августа 2001 00:00 («] [#] [»)
Андрей Форумы Покер.ру
;;
        
 
Приаттаченый файл с кодом   ID:48322   ответ на 48307 Ср, 29 августа 2001 00:00 («] [#] [»)
Pan Votruba Форумы Покер.ру
Попытка воспользоваться сервисом. Smile

Вложение: diler.c.htm
(Размер: 1.83KB, Загружено 180 раз)
        
 
Re: "Набор карт дилером". Исходник для програмеров.   ID:48324   ответ на 48311 Ср, 29 августа 2001 00:00 («] [#] [»)
Саша Форумы Покер.ру
Скажу тебе как программист программисту, делфи - это не язык Smile)))))))))) Хотя ты об этом знаешь
конечно Smile))))
        
 
Геть!   ID:48325   ответ на 48313 Ср, 29 августа 2001 00:00 («] [#] [»)
Pan Votruba Форумы Покер.ру
Э-эх, КОНЬ!...
>> Я уже немного подзабыл C, приходится писать на других
>> языках. ... приведенный код компилироваться не будет.
>> AnalHitDiler, вызываемая из main, нигде не объявлена...
Видно крепко забыл С. Или вообще его не знал.

>> ...в тексте масса синтаксических ошибок
Смотри приаттаченный файл (свежее сообщение):
http://www.poker.ru/?FID=1&IN=1&MID=3&FWIN=1&FMID=2258
То, что на сайте глюк - сообщил Администратору.

>> ... стиль - откровенно дилетантский (или, возможно,
>> "старческий" - я встречал такой ужас у программера,
>> начинавшего еще на действительно БОЛЬШИХ ЭВМ).
Слушай, Самостийный и Незалижний КоНЬ, ты за полгода пребывания на форуме не выдал "на
горА" ни одной цифры, ниразу не высказал собственных мыслей о БД, а "отличился" разве-что
плагиатом книги Лесного - см. топик
http://www.poker.ru/?FID=1&LMID=1&MID=3&IN=1&FWIN=1&FMID=997
Кстати, где твоя "инет-страничка" с громким названием "сайт"??
Ку-ку!?... А ведь, если Андрей создаст раздел курьезов, то ОНА - первый прендент.

О цифрах.
Напомню, - http://www.poker.ru/?FID=1&IN=1&MID=3&FWIN=3&FMID=1015, что данные о "Наборе
карт дилером" приводились тобой ОШИБОЧНЫЕ, но ты ОБЪЯСНИЛ это так:
>> Упс. Доверился чужим результатам, сам не считал. Я взял
>> результаты из Casino Verite - можешь проверить. Уж не
>> думал, что там может быть ошибка, не такая уж и сложная
>> задача.
Ok... Если теперь можешь ХОТЬ ЧТО-ТО считать в БД - аргументы на стол! Показывай исходник,
ламер...

>> Я уж молчу о том, что писать сейчас прикладные
>> программы под DOS несколько странно.
Это философия? - То раба, стоящего на коленях... Или спесь? - А основания?
ИМХО: фортран, С, С++ (VC) позволяют (лично мне) успешно решать счетные задачи. Хотя про
фортран ты, как истинный HTML-клавишник, наверное и не слышал...
Про домашний комп: что имею (Селерон, RAM 64 Мб, HDD 2 Гб) - то имею. Не осуждаю других и за
486-ой. А на работе (P3) заниматься гэмблингом = преступлению.
---
ГЛАВНОЕ.
Как "Запорожец" - тоже средство передвижения наряду с "Мерсом", так и в
программировании: "венец работы" - конечный результат (всесторонне протестированные
алгоритмы, точные искомые цифры и т.д.), а КАК (С, бэйсик) и ГДЕ (DOS, UNIX, WIN) он получен -
подчас имеет вторичное значение.

>> Это, безусловно, наезд.
Извини, не заметил трехколесного велосипедика...

Созидай сам! Пора.
ПВ
        
 
Не в моих интересах, конечно, ...   ID:48326   ответ на 48325 Ср, 29 августа 2001 00:00 («] [#] [»)
Менеджер Форумы Покер.ру
Но, как ни странно, последнее время стал замечать губительную для форумов тенденцию к
проведению активных боевых действий... Арабы с израильтянами на всех влияние оказывают, что
ли?..
И что характерно, даже те, кто понимают это, все равно ввязываются в процесс... Может, какая-то
солнечная активность?.. Или эпидемия, типа вирус, передаваемый исключительно путем личного
контакта с постом носителя...
А есть некоторые, которые в это время, как говорит Удивленный, пишут таки книжки...

Не помните, кто сказал: "Свято место пусто не бывает"?..
        
 
Менеджер! Точно. Бывает еще хуже ...   ID:48328   ответ на 48326 Ср, 29 августа 2001 00:00 («] [#] [»)
Андрей Форумы Покер.ру
http://www.cnews.ru/news/ebusiness/2001/08/29/20010829135100.shtml

Smile

Ребят может все-таки попроще будем друг к другу - форум то имеет статус мирного и охраняется
greenpeace, в виду того, что БД, Покер - самые зеленые игры.

        
 
Re: Не в моих интересах, конечно, ...   ID:48329   ответ на 48326 Ср, 29 августа 2001 00:00 («] [#] [»)
Саша Форумы Покер.ру
А что, лучше промолчать? Не вопрос, могу и промолчать, тогда какой смысл этого форума?
Я бы вот только хотел заметить следующее:
Читают сообщения на этом форуме гораздо больше людей, чем тех, кто их пишет. И у тех кто
читает возникает резонный вопрос - кому доверять больше, кому меньше. Мне кажется что в БД
основной определяющей является количественный выигрыш. Вот если бы все, кто здесь пишет
взяли бы хотя бы по штуке баксов, присели бы за 25 долларовый стол и зафиксировали бы свой
результат, например через 3 часа игры. Результат бы опубликовали, и все кто читает, знали бы
реальную цену публикуемых советов. Тогда бы и пустых споров меньше стало.
        
 
Ты о чем???   ID:48331   ответ на 48329 Ср, 29 августа 2001 00:00 («] [#] [»)
Garry Baldy Форумы Покер.ру
Саша, умоляю!..

Ты даже себе представить не можешь, сколько у меня накоплено реальной статистики. Какая
штука?!! Какие 3 шафла???!!! Ты что, смеешься?!

Другое дело, я никогда не буду публиковать результаты - я себе не враг. Лучше б Гришины
ежемесячные отчеты почитал. Могу сказать, что МОИ результаты подтверждают МОИ расчеты.

Добавлю, что это КРАЙНЕ неразумно - брать с собой штуку, идти за 25-долларовый стол и играть
там 3 часа... Но это совсем другая тема.

Удачи.

Garry Baldy.
        
 
Отчетность   ID:48332   ответ на 48331 Ср, 29 августа 2001 00:00 («] [#] [»)
Гриша Форумы Покер.ру
Кстати по поводу моей отчетности. Я скорее всего за август вывешу последний отчет, после чего
прекращу эту практику. Для того чтобы было понятно, в августе-сентябре прошлого года я
проиграл где-то 500 нач.ставок. Жизнь блэкджексиста такова, что все эмоции приходится
держать в себе - некому поплакаться в жилетку, не с кем разделить радость победы. Причем
этот кто-то должен понимать БД. Я обозлился на дисперсию и начал принтовать свои рез-ты на
сайте. Сейчас даже не могу вспомнить, какую конкретную цель я преследовал. По инерции это
делал до сих пор. Однако точно также, как я словил отрицат. виток дисперсии год назад, это
просто совпадение, что я не свел на протяжении года хоть какой-то месяц со знаком минус, хотя
в процессе игры (внутри каждого месяца) присутствовали дикие американские горки. Вместе с
тем сотрудники казино могут сделать неправильный вывод из моих постов - человек
получает "зарплату" в казино каждый месяц. Можно конечно вывесить сфальсифицированный
проигрышный отчет за ближайший месяц , но я не хочу гнать пургу, тем более не хочу
целенаправленно сливать в реале.
        
 
Re: Геть!   ID:48333   ответ на 48325 Ср, 29 августа 2001 00:00 («] [#] [»)
KOHb Форумы Покер.ру
>>> Я уже немного подзабыл C, приходится писать на других
>>> языках. ... приведенный код компилироваться не будет.
>>> AnalHitDiler, вызываемая из main, нигде не объявлена...
>Видно крепко забыл С. Или вообще его не знал.

Да ты сам свой пост посмотри.

>>> ...в тексте масса синтаксических ошибок
>Смотри приаттаченный файл (свежее сообщение):
>http://www.poker.ru/?FID=1&IN=1&MID=3&FWIN=1&FMID=2258
>То, что на сайте глюк - сообщил Администратору.

Согласен. В аттаче все в порядке.

>Слушай, Самостийный и Незалижний КоНЬ, ты за полгода пребывания на форуме не выдал "на
>горА" ни одной цифры, ниразу не высказал собственных мыслей о БД, а "отличился" разве-что
>плагиатом книги Лесного - см. топик
>http://www.poker.ru/?FID=1&LMID=1&MID=3&IN=1&FWIN=1&FMID=997

Цифры вычислять я и не нанимался (если разобраться, кроме тебя почти никто собственные
вычисления и не постит), а насчет мыслей - ты зря. В основном, может быть, это были вопросы,
но мысли тоже были.

>Кстати, где твоя "инет-страничка" с громким названием "сайт"??

Да никак не доделаю. Ты же мне на пару с Лесным энтузиазм и сбил.

>Ку-ку!?... А ведь, если Андрей создаст раздел курьезов, то ОНА - первый прендент.

Ну и что там такого курьезного? (Жаль с wallst удалили, если соберусь дописать, выложу в другое
место)

>О цифрах.
>Напомню, - http://www.poker.ru/?FID=1&IN=1&MID=3&FWIN=3&FMID=1015, что данные о "Наборе
>карт дилером" приводились тобой ОШИБОЧНЫЕ, но ты ОБЪЯСНИЛ это так:
>>> Упс. Доверился чужим результатам, сам не считал. Я взял
>>> результаты из Casino Verite - можешь проверить. Уж не
>>> думал, что там может быть ошибка, не такая уж и сложная
>>> задача.
>Ok... Если теперь можешь ХОТЬ ЧТО-ТО считать в БД - аргументы на стол! Показывай исходник,
>ламер...

Я безусловно мог бы создать программу для рассчета "цифр", но не вижу в этом необходимости.
Единственные параметры, которые меня очень сильно интересовали - это матожидание и ROR,
их моя программа считает. Исходник показывать проблематично, так как задача относительно
большая (симулятор плюс тренажер) и написана объектно-ориентированно; это тебе не расчет
вероятностей набора карт дилером, да еще и на бесконечной колоде. Между прочим, я до сих
пор думаю, что в Casino Verite правильные вероятности, слишком уж старая и известная
программа - просто ты и Лесной считали бесконечную колоду, а я привел вероятности для шести
колод.

>>> Я уж молчу о том, что писать сейчас прикладные
>>> программы под DOS несколько странно.
>Это философия? - То раба, стоящего на коленях... Или спесь? - А основания?

Я не знаю никого, кому бы платили деньги за программы под ДОС. К тому же я сам считаю
графический интерфейс необходимым параметром современной программы. Философия,
возможно, и рабская, но семью-то надо кормить Wink

>ИМХО: фортран, С, С++ (VC) позволяют (лично мне) успешно решать счетные задачи. Хотя про
>фортран ты, как истинный HTML-клавишник, наверное и не слышал...

Ну что за привычка? Я даже не знаю, что такое HTML-клавишник. Фортран не знаю, это ты прав.

>Про домашний комп: что имею (Селерон, RAM 64 Мб, HDD 2 Гб) - то имею. Не осуждаю других и
>за 486-ой. А на работе (P3) заниматься гэмблингом = преступлению.
---
>ГЛАВНОЕ.
>Как "Запорожец" - тоже средство передвижения наряду с "Мерсом", так и в
>программировании: "венец работы" - конечный результат (всесторонне протестированные
>алгоритмы, точные искомые цифры и т.д.), а КАК (С, бэйсик) и ГДЕ (DOS, UNIX, WIN) он получен -
>подчас имеет вторичное значение.

Ну да, согласен. Для численных задач это действительно так. Но, опять же, пока клиенту не
покажешь окошки, да с графикой, денег не получишь (может и получишь, но меньше и с большим
напрягом).

>Созидай сам! Пора.

Пан, ну научись ты не делать выводов о собеседнике без аргументов. Я и "HTML-клавишник", и
ламер, и плагиатор, и никак не начну созидать... С чего ты взял?
        
 
Well done, Grisha!   ID:48334   ответ на 48319 Ср, 29 августа 2001 00:01 («] [#] [»)
Garry Baldy Форумы Покер.ру
Именно это я и хотел сделать, чесслово! Но мне настолько было лень набирать эту
программульку, что я не решил встревать в базар. Общий тон которого мне категорически не
нравится, как со стороны Саши, так и со стороны Пана Вотрубы. Мужики, что это за дела? Вы
прямо как Балаганов с Паниковским: "Нет, а ты кто такой?!". Я не могу подобрать нужных слов, но
это НЕПРАВИЛЬНО. Да, в спорах рождается истина, но это должен быть именно спор, а не поток
матершины. Обидно за вас обоих, ей-богу. Если бы я мог модерировать этот форум - посносил бы
все ваши наезды к чертовой матери - обижайтесь на здоровье.

Гриша, может, тебе будет не в падлу еще и вывесить генератор СЧ, который есть в Beyond
Counting? Может, это даст еще какую-то пищу для обсуждений и для наездов на ни в чем не
повинного Джеймса Гросджина, вместо того, чтобы обливать помоями друг друга?

Удачи.

Garry Baldy.
        
 
Re: И я рискну вставить словечко...   ID:48335   ответ на 48319 Ср, 29 августа 2001 00:01 («] [#] [»)
Саша Форумы Покер.ру
Кстати бейсик не так уж и плох для решения подобных задач. Я на нем 14 лет назад
программировал и горя не знал. Вот только что считает эта программа?
        
 
Re: Ты о чем???   ID:48338   ответ на 48331 Чт, 30 августа 2001 00:00 («] [#] [»)
Саша Форумы Покер.ру
А при чем тут 3 шафла?

А никто и не заставляет тебя публиковать свои результаты. Один раз проведи показательную игру
и все. Все сразу будут знать твою реальную цену. Я не боюсь говорить, что, например в кристалле
и в шангри мне явно больше нравиться, но при этом не публикую своих результатов. И даже если
бы публиковал, как это мне может навредить?
        
 
Re: Ты о чем???   ID:48339   ответ на 48338 Чт, 30 августа 2001 00:00 («] [#] [»)
Garry Baldy Форумы Покер.ру
Ты что, не понимаешь, что любая сессия в 2 часа не показатель?! Даже 200 часов недостаточно
для подтверждения статистики. У меня есть данные по гораздо большему количеству часов,
подтверждающие мои расчеты. А твое предложение насчет двух часов, штуки и 25-долларовом
столе - полный бред.

И вообще, почему я должен тебе что-то доказывать?

Garry Baldy.
        
 
Страницы(2): [#  1  2  >  »]  
Предыдущая тема:Кусочки из закона
Следующая тема:авг01
Быстрый переход к форуму
  
Текстовая версия  RSS лента
Вернуться вверх

Текущее время: Чт, 14 ноября 07:42:02 2024
Время, затраченное на генерацию страницы: 0.01572 секунд