Европейская рулетка на 1С для управляемых форм

Развлекательная обработка для игры в рулетку.

Описание

При запуске идет небольшой туториал.

По окончании туториала можно сделать небольшие настройки включив галочку «Показать настройки.»

После настроек важно нажать кнопку «Сохранить настройки».

Можно начать расставлять ставки. По умолчанию у Вас 10 000. Минимальная ставка 100.

Ставки можно делать на:

  • Числа (36 + Зеро)  35кратный выигрыш
  • Красное — Черное 2х кратный выигрыш
  • Большое — Малое 2х кратный выигрыш
  • Четное — Нечетное 2х кратный выигрыш
  • Ставка на строку из 12 чисел .3х кратный выигрыш
  • Ставка на колонку из 3х чисел 12х кратный выигрыш
  • Ставка на две колонки (6чисел) 6х кратный выигрыш
  • Ставка на два числа 17х кратный выигрыш
  • Ставка на 4 числа 9х кратный выигрыш
Размер ставки можно увеличить с помощью множителя ставки. Важно, что сначала выбирается стоимость ставки, а уже после этого выбирается поле для этой ставки.
После того, как ставки сделаны, нужно нажать кнопку SPIN. Выпадет случайное число.
Ваши ставки либо сыграют, либо нет. Выпавшее число будет указано как на поле стола, так и на колесе рулетки.  После этого можно сыграть еще. Если Вы закроете обработку и зайдете вновь, то сумма будет загружена из последней игры.

Дополнительная информация:

Обработка находится в архиве. Обработку необходимо запускать из того же места, где хранятся ее сопутствующие файлы.
Графика реализована на базе Raphael.
Скин стола можно поменять, в обработке есть синий стол. И все. Пока больше нет. 
Звуки в игре реализованы чуть более чем никак.
Оптимизация в игре отсутствует как класс.
Настройки игры хранятся во внешнем файле.
Код открыт.

Архив содержит:

5 картинок в формате png
4 звука в формате wav
1 обработка в формате epf

29 Comments

  1. yaroslav.artem

    Это игра?Или расчет вероятности выпадения?

    Reply
  2. NECHISTb

    Изначально я делал обработку расчета вероятности выпадения нуля или единицы.

    Обработка имела три формулы расчета — Бернулли, Лапласа и нечто среднее между ними.

    К примеру вот пара формул из обработки:

    Бернулли = (Факториал_n / (Факториалk * Факториал_n_k))* pow(p,k +1) * (pow(q, fak_nk));

    Лапласа = 1 / (Sqrt(2 * Пи * n * p * (1 — p))) * Pow(E, — (Pow(t,2) / 2) );

    Но мой коллега дабы убедить меня в том, что это не более чем иллюзия

    и вероятность выпадения нуля или единицы всегда 50/50, немного изменил обработку добавив пару полей: Сумма и ставка, а так же возможность выигрыша или проигрыша.

    Исходя из его соображений, в конечном итоге я должен был проиграть все деньги.

    Однако формулы показывали неплохие результаты.

    Можно было предугадать выпадение нуля или единицы с высокой точностью.

    Каждая из формул годилась для своего диапазона количества итераций.

    Я пошел дальше и усложнил обработку. В конечном итоге я полностью избавился от расчета вероятности.

    Обработка была уже для развлечения, а не для расчетов.

    Однако мощности формул одназначно хватит, что бы расчитывать вероятность выпадения того или иного числа при большом количестве итераций.

    Есть идеи вернуть расчет в данную обработку.

    Reply
  3. herfis

    Коллега прав. Вероятность выпадения нуля или единицы всегда 50/50 и не зависит от предыдущих результатов.

    Но вероятность выпадения длинных цепочек одинаковых результатов — мала. Просто эти две вещи плохо уживаются вместе в неподготовленном мозгу 🙂

    На этом принципе построена стратегия удвоения ставок при проигрыше. Но на самом деле она тоже не работает, так как вероятность дождаться цепочки, которая исчерпает твой банк — тоже вполне реальна.

    Короче, лучший способ получать прибыль от казино — это открыть свое казино. С блэкджеком и как полагается.

    Reply
  4. tailer2

    (2) dicePlayer?

    Reply
  5. tailer2

    (3) да, теория вероятностей имеет предметом одну из фундаментальных вещей в этой вселенной

    Reply
  6. herfis

    Ага. Закон Мерфи называется. Если жопа может случиться — она случается. Можно разработать супер-пупер стратегию и всем хвастаться, как ты придумал получать прибыль от казино. И в стопервый раз продуть весь совокупный выигрыш. Просто-напросто ты долго выходил на достаточно длинную статистическую дистанцию, чтобы математика тебя наконец догнала.

    Reply
  7. NECHISTb

    (3)Представь, я бросаю монетку 50 раз. Какова вероятность того, что выпадет и 50 раз — решка и ни разу — орел? Вероятность низка. Но допустим у меня выпадает 49 раз решка. Вероятность в следующем броске, так же как и в начале 50/50. Но. Вероятность того, что выпадет 50 раз подряд решка очень низка. Из этого можно заключить, что на этом этапе, вероятность выпадения решки НИЖЕ чем орла.

    Reply
  8. NECHISTb

    (4) Что???

    Reply
  9. NECHISTb

    (6)

    ерфи называется. Если жопа может случиться — она случается. Можно разработать супер-пупер стратегию и всем хвастаться, как ты придумал получать прибыль от казино. И в стопервый раз продуть весь совокупный выигрыш. Просто-напросто ты долго выходил на достаточно длинную статистическую дистанцию, чтобы математика тебя нак

    Математическое ожидание от рулетки чуть более двух, поэтому не идет речи о выигрыше. = )

    Reply
  10. borodatii

    (7) не верно.

    Чтобы не выпало, получится одна из двух возможных в этом случае цепочек длиной 50. Вероятность их появления одинакова.

    Reply
  11. borodatii

    (7) Можно усложнить, сказав, что на 50 броске получается 1 из 2#k8SjZc9Dxk50 равновероятно выпадающих цепочек.

    Reply
  12. v3rter

    Все игры на ценности — не более чем развлекательные услуги, где выигрыш лишь разновидность скидки )

    Reply
  13. herfis

    (7) Представь — тебя приглашают в комнату и говорят, что сейчас подбросят монетку. И спрашивают — с какой вероятностью выпадет решка? А ты такой — «нуу, чуваки, это зависит от того, сколько раз подряд решка уже выпала перед этим». А те — «да фиг его знает, перед этим не мы подбрасывали». А ты такой — «нуу, блин, извините тогда, вероятность неизвестна».

    Вероятность выпадения 50 решек — низка. Но вероятнось выпадения 50 решек после того, как 49 решек УЖЕ выпало — 50/50. Вероятность выпадения 50 решек низка именно потому, что вероятность разрыва цепочки при каждом броске 50/50.

    ЗЫ. Лайф-хак придумал! Нужно дома подбрасывать монетку и дождаться выпадения маловероятной последовательности. Тех же 50 решек. После этого любой спор можно будет разрешить к своей пользе подбрасыванием заветной монетки с практически гарантированным результатом. Главное — в промежутке не уронить случайно, чтобы последовательность не сбилась.

    Reply
  14. NECHISTb

    (13) ЛайфХак улыбнул = D

    Reply
  15. NECHISTb

    Вероятность выпадения 50 решек — низка. Но вероятнось выпадения 50 решек после того, как 49 решек УЖЕ выпало — 50/50. Вероятность выпадения 50 решек низка именно потому, что вероятность разрыва цепочки при каждом броске 50/50.

    В этом что то есть. Не могу ничего против сказать… Мне надо подумать.

    Reply
  16. herfis

    А что касается моделирования случайности в программах, где это критично (тех же электронных казино), то тут все значительно сложнее, чем кажется на первый взгляд. Первейшая ошибка начинающих писателей электронных казино — использование генераторов псевдослучайных чисел из системных библиотек. Они недостаточно хороши для этих целей, оптимизированы по производительности и часто имеют уязвимости. У Кнута, ЕМНИП, целый раздел был посвящен выводу формул генераторов псвевдослучайных чисел заданных характеристик и с качественными распределениями. Но даже при хорошем генераторе лажануть при программировании ОЧЕНЬ легко, если нет глубочайшего понимания проблемы. И кирдык — чуть-чуть искаженное в каких-то случаях распределение это дыра в безопасности и потенциальный источник миллионных убытков. Плюс остается вопрос инициализации псевдослучайных последовательностей. Можно погуглить по вопросу взлома генераторов и всему с этим связанному. Точно не знаю, но кажись в серьезных электронных казино используются специальные аппаратные средства для получения истинно случайных чисел.

    Reply
  17. tailer2

    (8)

    Исходя из его соображений, в конечном итоге я должен был проиграть все деньги.

    Однако формулы показывали неплохие результаты.

    фраза начинающего игрока в dice

    Reply
  18. tailer2

    (7)

    Просто эти две вещи плохо уживаются вместе в неподготовленном мозгу 🙂

    (с) СанСаныч

    Reply
  19. tailer2

    (16) счетчик гейгера

    дробовой шум сопротивления

    да просто широкополосный радиоприемник

    Reply
  20. NECHISTb

    (17)

    ном итоге я должен был проиграть все деньги.

    Однако формулы показывали неплохие результаты.

    Эммм… Я не в теме = )

    Reply
  21. NECHISTb

    (16) Я использовал стандартный Одинэсовский ГСЧ. Если у игрока будет задача взломать, то будет гораздо проще выставить изначально сумму в 1 000 000 чем сломать ГСЧ. Да и свою функцию он выполняет. Хотя если вспомнить мои начинания в обработке расчетов вероятности, то когда я делал тесты с монеткой и тесты с ГСЧ, то я заметил, что выпадения у монетки орла и решки с самого начала стремятся уравновесить друг друга, в то время как ГСЧ мог показывать сразу 10 выпадений нуля и ни разу не выпадала единица. 10 выпаданий орла или решки, в реальных условиях, монеткой мне достичь не удалось.

    .

    Reply
  22. PhoenixAOD

    Прикольно, надо жене скачать, пусть погамает. Хочу предложить немного усложнить обработку)) На рулетке помимо ставок сумм вероятностей есть еще один ни мало важный фактор — Крупье. Спин (запуск шарика по колесу) осуществляет именно он, спины проходят не четный по часовой, четный против часовой стрелки, при этом учитывается, что с каждый броском пальцы крупье устают (30 минут стоит обычно крупье у стола). То есть предлагаю добавить разные скорости вращения шарика по колесу, и раунды устроить максимум по 30 секунд. Ну и можно открывать свое 1с казино))) Проблемы с доступом к 1сказино, добавь 1, что бы получилось 1сказино1 и наслаждайся))

    Reply
  23. NECHISTb

    (22) Изначально я хотел написать обработку полностью на 1С. Были попытки использовать Кнопки, ПоляГеографическихДанных, но все это было колхозно. Потом я сдался и обратился к JavaScript. Он решил все мои проблемы и даже более того. В какой то момент я понял, что всю игру могу написать на яваскрипте. 1С мне не нужна, она лишь тормозит процесс. Приходится передавать с 1С на яву и с явы обратно в 1С. Это дико сказывается на производительности. Поэтому на данном этапе я остановился в развитии графических модернизаций обработки, ведь они каждый раз вынуждают меня отказаться от 1С. Однако Вы не первый кто просит крупье и шарик.

    Какое место в обработке должен занимать крупье я пока не разобрался.

    Шарик добавить в планах, но, боюсь, он нагрузит систему.

    Идея с уставшим крупье мне очень понравилась и я ее реализовал.

    Раунды устроить максимум по 30 секунд? Вы имеете ввиду лимитировать раунд? Это было бы актуально в сетевой версии.

    Reply
  24. PhoenixAOD

    (23)Извиняюсь, 30 минут)) лимит раунда потом типо крупье меняется и опять шарик крутится с другими скоростями так как человек новый. Я не имел ввиду добавить графическое отображение крупье он по сути не нужен, как и графический шарик, я предложил вставить этих два фактора в условия расчета, в реальной игре это очень важный фактор)) Просто я сам проработал год крупье и потому предложил))) но опять же вероятность зеро будет приближена к реальному варианту, типо как в жизни)) В выходные покручу Вашу рулетку и смогу более подробно описать предложение))) думаю это будет интересно))

    Reply
  25. NECHISTb

    Даже я в эту игру не могу играть более 10 минут = ) а тут аж пол часа.

    Я добавил изменяющуюся скорость и продолжительность вращения колеса, хотя мы с Вами оба понимаем, что это лишь графическая оболочка. На момент когда колесо начинает вращаться, обработке уже известен результат…

    Если же добавлять в игру больше случайность (приближать ее к реальному миру), то нужно будет как то защитить основной функционал обработки, я имею ввиду Сумму, в первую очередь. Однако Инфостарт не позволяет выкладывать обработки с закрытым кодом и от этого мне пришлось отказаться. Я открыл код и теперь каждый (кто хоть не много разбирается в программировании) может поменять сумму, на какую хочет.

    Reply
  26. PhoenixAOD

    а вот с колесом сложнее)) не только продолжительность нужна но и скорость вращения, причем обычно шарик и юла крутятся в разные стороны, но это не важно уже по сути))) ну да, если расширять эти данные то уже считай решение казино получается какое то))) но как игра тоже интересная вещь, для тех же игроманов) по сути это в какой то степени даже панацея для этого заболевания))) деньги не тратит, сидит играет)))

    Reply
  27. NECHISTb

    (26) Теперь я не понимаю тех людей, кто играет в казино… Даже если все честно, вероятность уйти из казино с кучей денег невероятно мала.

    Reply
  28. PhoenixAOD

    (27)Азарт, это как наркотик))) Мечты о легких деньгах))) уже жене поставил дома))) гамает довольная)))) пытаются ссыном даже высчитать вероятность)))

    Reply
  29. NECHISTb

    http://infostart.ru/public/601783/ Обработка для расчета вероятности. Прародитель рулетки.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *