Пилю программку по обсчёту китайского покера

Последний пост:26.11.2023
22
1 7 8 9 10 29 114
  • чет вспомнилось))))

    7/10
    Ответить Цитировать
    3
  • Цитата (БиллиУбили @ 10.2.2019)
    таки имеет смысл переписать алгоритм для целых чисел. Чем и занимаюсь

    Всё-таки тут возможно двоякое толкование. От функционала std::string отказаться невозможно(по крайней мере, я не знаю как). Просто я попытаюсь использовать его реже, где возможно считая в целых числах.
    56/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 9.2.2019)
    на 40карточной колоде

    Из-за этого подумал, что ты какие-то ограничения поставил. Теперь понял о чем речь.



    Цитата (БиллиУбили @ 10.2.2019)
    Всё-таки тут возможно двоякое толкование. От функционала std::string отказаться невозможно(по крайней мере, я не знаю как)

    Я вот что-то с трудом понимаю зачем использовать строки для рассчетов.
    9/14
    Ответить Цитировать
    0
  • EternalRain, ну ок, ты написал класс карта. Потом класс колода, потом класс рука.
    Что у тебя будет "линией" в руке? Как ты сравнишь одну линию с другой?
    57/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 10.2.2019)
    Что у тебя будет "линией" в руке? Как ты сравнишь одну линию с другой?


    Если под линией ты подразумеваешь позицию (места под карты, те, что 3-5-5), то каждая - число. Числа и сравниваем.
    10/14
    Ответить Цитировать
    0
  • EternalRain, ну, видишь, у тебя незамутнённый взгляд.
    Я начинал с одной строки и поиск комбинаций в ней. Для этого подошли строки.
    Напиши свой поиск по числам...Что у тебя карэ? У меня 4 повторяющихся символа ))
    И ещё я знаю, как сравнить два карэ(какое старше)
    58/741
    Ответить Цитировать
    0
  • БиллиУбили, напишу чуть позже. Все делается просто.
    11/14
    Ответить Цитировать
    0
  • EternalRain, так а зачем писать. Это и так понятно. Выигрыш ты в чём хочешь получить?
    Неужели строка в 40 символов(или поиск в ней) сортируется значительно медленнее, чем массив целых чисел?
    59/741
    Ответить Цитировать
    0
  • БиллиУбили, лол ты жжешь ...
    процы вообще то х64 архитектуры ... 64 бита т.е. ... как раз под интегер заточены ... 8 байтовые ... если тебе это конечно о чем то говорит ...

    у тебя не только нет времени , но и нет базовых навыков ...
    37/882
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 10.2.2019)
    Неужели строка в 40 символов(или поиск в ней) сортируется значительно медленнее, чем массив целых чисел?


    Какая еще сортировка? Не нужно там никаких сортировок.
    12/14
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 10.2.2019)
    так а зачем писать. Это и так понятно. Выигрыш ты в чём хочешь получить?


    Мне кажется, что не понятно. Поэтому я все-таки напишу.

    Колоду/руку/текущую раздачу представляем при помощи 64 бит вот так, например:


    И для примера, поиск каре:
    1) Выделяем все ранги (будет 4 числа, надеюсь понятно как это сделать)
    2) quads = hearts & diamonds & clubs & spades
    3) все

    Теперь как сравнивать руки. Представляем силу руки числом в 32 бита, можно вот так:

    HR - число, представляющее ранги рук, от 0 (старшая карта) до 8 (стрит-флеш)
    CRn - ранги карт, от 0 (двойка) до 12 (туз)
    Например, у нас каре, записали в биты HR число 7, CR1 - ранг карты, представляющей каре, например каре 10-к, пишем число 11, CR2 - кикер, СR3-CR5 - нолики.
    Вот у нас есть число, представляющее каре 10-к. Теперь его можно сравнивать с другими числами, представляющие силу той или иной комбинации обычным сравнением.
    Быстро и элегантно (ну по сравнению со строками).
    13/14
    Ответить Цитировать
    0
  • Цитата (EternalRain @ 10.2.2019)
    Быстро и элегантно (ну по сравнению со строками).

    заполнить нижнюю строку из колоды можно С(52,5) = 2.6кк вариантами.
    Сможешь такими порядками оперировать?
    60/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 11.2.2019)
    заполнить нижнюю строку из колоды можно С(52,5) = 2.6кк вариантами.
    Сможешь такими порядками оперировать?


    Я тебе об оптимизации, а ты мне о глобальном потеплении.
    Ну, ладно. Завтра я постараюсь выделить время и начать делать прогу схожую с твоей. Правда пытался правила читать, но то, что гугл выдает это написано как для тех, кто уже правила знает (ну так по крайней мере мне кажется). Спрошу в третий раз: может кто-то скинуть ссылку на подробные правила игры в китайский покер, прочитав которые, сходу сможет начать играть даже полный профан в этой игре, вроде меня. Заранее спасибо.
    P.S. Ты мои слова не воспринимай как обиду, что-ли. Если задел тебя чем-то - не обижайся. Просто искренне пытался тебе помочь. Больше тут писать не буду, если кому-то интересно будет, что у меня получится, то результаты будут в моем блоге.
    Всем удачи и спасибо.
    14/14
    Ответить Цитировать
    0
  • Цитата (EternalRain @ 11.2.2019)
    Я тебе об оптимизации, а ты мне о глобальном потеплении.

    я же задавал вопрос: неужели сортировка строки из 40элементов происходит быстрее, чем сортировка массива из 40 целочисленных элементов??
    Ну, то что перемножение переменных разного типа(вещественного и целочисленного) происходит с разной скоростью, я ещё могу понять. Но чтобы сортировка...

    Цитата (EternalRain @ 11.2.2019)
    может кто-то скинуть ссылку на подробные правила игры в китайский покер, прочитав которые, сходу сможет начать играть даже полный профан в этой игре, вроде меня

    ну, тут два путя. Либо посмотреть чей-то стрим(желательно без комментариевзвука), либо прочесть *ссылка удалена
    Цитата (EternalRain @ 11.2.2019)
    Больше тут писать не буду, если кому-то интересно будет, что у меня получится, то результаты будут в моем блоге.

    Извини, я действительно не понимаю, причём тут быстродействие операций со строками и данными целочисленного типа. Ведь всё дело в алгоритме. Так что пиши, конечно, где хочешь. Но лучше бы было бы сравнивать результаты. Ещё лучше посчитанные ЕВ(а не абстрактное быстродействие)
    61/741
    Ответить Цитировать
    1
  • *ссылка удалена режут ссылку
    62/741
    Ответить Цитировать
    1
  • EternalRain, могу записать подробные правила игры )
    ананас, прогрессив, два джокера ? все записать?
    38/882
    Ответить Цитировать
    1
  • Так, хорошая новость. Переработанный алгоритм(якобы на целых числах) как минимум в 10 раз быстрее старого. Правда, на 2ух подьёмах. Полностью от сортировки избавиться не удалось, но кол-во вызовов значительно сокращено.
    Сегодня доделаю 3ий подьём. Что там будет? Интрига.
    63/741
    Ответить Цитировать
    0
  • Цитата (БиллиУбили @ 12.2.2019)
    Так, хорошая новость. Переработанный алгоритм(якобы на целых числах) как минимум в 10 раз быстрее старого. Правда, на 2ух подьёмах. Полностью от сортировки избавиться не удалось, но кол-во вызовов значительно сокращено.
    Сегодня доделаю 3ий подьём. Что там будет? Интрига.

    Так, 3 подьёма 50К комбинаций считает за 1.5 минуты
    Не могу я пока отказаться от такого "красивого" кода
    if(foo2.rfind(foo) != std::string::npos)

    Попробую поточнее найти завершающие комбинации.
    64/741
    Ответить Цитировать
    0
  • БиллиУбили, кодинг кодинг... ты опиши алгоритм что ты делаешь пока не понятно ... ты считаешь евшку против руки оппа? или просто роялти своей руки ? цель софта ? продавать? если есть 0.5-1.5 года времени его реально сделать ... но работа очень потная ... очень сложная...
    39/882
    Ответить Цитировать
    0
  • Цитата (c00l0ne @ 13.2.2019)
    ты считаешь евшку против руки оппа? или просто роялти своей руки ?

    пока считаю ЕВ незаконченной руки
    Цитата (c00l0ne @ 13.2.2019)
    но работа очень потная ... очень сложная...

    ну, как сказать...

    2ALL снова произошла забавная ситуация, заставившая потерять целый день. Перед определением функции забыл добавить double,
    а компилятор не выдал ни ошибки, ни предупреждения... Правда один раз во время отладки он вылетел в синий экран, но я отнёс это к несовершенству кода...А самое главное, функция упорно возвращала 0.0
    чего я только не менял(в коде)...ведь практически тот же самый код работал ещё неделю назад...даже копипаст из бэкапа всё равно давал 0.0 ...что заставило меня ещё раз проверить алгоритм на бумажке и не один раз. Может, оно и к лучшему...
    Посмеялись - и хватит. Вперёд за работу!
    65/741
    Ответить Цитировать
    0
1 7 8 9 10 29 114
1 человек читает эту тему (1 гость):
Зачем регистрироваться на GipsyTeam?
  • Вы сможете оставлять комментарии, оценивать посты, участвовать в дискуссиях и повышать свой уровень игры.
  • Если вы предпочитаете четырехцветную колоду и хотите отключить анимацию аватаров, эти возможности будут в настройках профиля.
  • Вам станут доступны закладки, бекинг и другие удобные инструменты сайта.
  • На каждой странице будет видно, где появились новые посты и комментарии.
  • Если вы зарегистрированы в покер-румах через GipsyTeam, вы получите статистику рейка, бонусные очки для покупок в магазине, эксклюзивные акции и расширенную поддержку.