Шаблон игры “Автомат Казино”
Last updated
Last updated
В разделе Шаблоны выбираем "Игра Автомат Казино" и нажимаем "Установить".
После установки мы видим схему шаблона, состоящую из обозначений констант проекта:
Блоков начала запуска игры и реакции на активность игрока:
И другие:
Итак, перейдем к настройке:
Для начала необходимо объявить переменные проекта: для этого зайдите в Настройки проекта -> Константы проекта и нажмите Изменить переменные (Рис. 3). Удобно перенести переменные копированием из данного описания, для этого достаточно переключить окно объявления переменных на старый стиль (Рис. 4)
Просто скопируйте переменные и вставьте в окно объявления переменных: NumberEmoji=5 1=😍 2=🎄 3=🙂 4=🤣 5=😉 luck3=2 luck2=1 MinRandomLuck=5 MaxRandomLuck=10 TextLuck3=Близко, но не то - добавляем TextLuck2=Ни рыба, ни мясо, но TextLuck1=неудачно | повезёт в другой раз | нужно больше попыток stories_max_actions=1 stories_score=5 stories_mention_score=3 stories_mention_max_actions=2 signed=2
Описание значений каждой из переменных представлено в таблице ниже (предполагаемые значения можно менять):
Имя переменной | Описание значения | Предлагаемое нами значение |
---|---|---|
NumberEmoji | Общее число эмодзи (от 2 до 5) | 5 |
1 | Эмодзи выигрышной комбинации | 😍 |
2 | Эмодзи, имеющие меньший приоритет | 🎄 |
3 | Эмодзи, имеющие меньший приоритет | 🙂 |
4 | Эмодзи, имеющие меньший приоритет | 🤣 |
5 | Эмодзи, имеющие меньший приоритет | 😉 |
luck3 | количество попыток, которые будут начислены за 3 одинаковые комбинации (вариант от 1 - ...) | 2 |
luck2 | количество попыток, которые будут начислены за 2 одинаковые комбинации (вариант от 0 - ...) | 1 |
MinRandomLuck | минимальное значение для рандома неудачи | 5 |
MaxRandomLuck | максимальное значение для рандома неудачи | 10 |
TextLuck3 | Текст сообщения, которое получит игрок за 3 одинаковых (невыигрышные) эмодзи | Близко, но не то - добавляем |
TextLuck2 | Текст сообщения, которое получит игрок за 2 одинаковых эмодзи, если за них нужно начислять попытки (т.е. Luck2 !=0) | Ни рыба, ни мясо, но |
TextLuck1 | Текст сообщения, который придет в случае неудачи, когда выпали разные эмодзи (или за 2 одинаковых если luck2 == 0) | неудачно | повезёт в другой раз | нужно больше попыток |
stories_max_actions | максимальное число реакций, которые игрок может использовать для начисления числа попыток в течение дня | 1 |
stories_score | количество попыток за реакцию на сторис | 5 |
stories_mention_score | количество попыток за отметку Вас в сторис | 3 |
stories_mention_max_actions | максимальное число отметок, которые игрок может использовать для начисления числа попыток в течение дня | 2 |
signed | количество попыток, которые будут начислены за подписку | 2 |
Объявим также общую переменную winner = False - признак наличия победителя в игре
В блоке "Крутить" при запуске в боевом режиме необходимо убрать справочную информацию, которая прописана в поле "Текст": справочно (тест) #{lowluck} низкая удача #{popitki} количество попыток заменить на #{none}
Также необходимо увеличить время в стрелке, ведущей из блока "Забрать попытку" в блок "Каждый час 1 попытка" с 60 секунд до 1 часа.
Ниже представлены основные блоки игры: - Блок начала игры (Условие: Игра, Играть). Здесь устанавливается значение переменным: popitki - количество попыток с начала игры (по умолчанию) win - признак выигрышной комбинации у игрока gostop - признак того что игра активна, gostop=1 - Блок правил (Условие: Правила) - блок для дополнительного ознакомления правилами игры. Может быть вызван в любой момент. - Блок остановки игры (Условие: Стоп) - Остановка игры по желанию игрока, gostop=0 - Блок возврата в игру (Условие: Вернуться) -Возврат в игру по желанию игрока, gostop=1
-Блок запуска автомата (Условие: Крутить). 3 этапа, которые зависят от параметров:
gostop == 1 and #{winner} == False - игра активна и нет победителя игры
#{winner} == True and win == False and gostop == 1 - игра активна и есть победитель игры, но это не текущий игрок
#{winner} == True and win == True and gostop == 1 - игра активна и есть победитель - сам игрок.
Перед началом игры необходимо настроить константы проекта, от которых зависит её сложность - длительность. - NumberEmoji - здесь выбираете значение от 2 до 5, например, выбрав 2, в рулетке участвуют лишь первые две эмодзи и шанс будет гораздо больше что эта комбинация быстро выпадет и игра закончится. - luck3 - указываете сколько попыток начислять от 1 до … за 3 не выигрышных комбинаций. Выигрышная это три эмодзи под номером 1. Менять можно на другие. - luck2 - указываете сколько попыток начислять от 0 до … за 2 одинаковые эмодзи, либо вообще не начислять. - TextLuck3 - текст выводимый за 3 не выигрышные комбинации эмодзи - TextLuck2 - текст выводимый за 2 комбинации эмодзи, если за luck2 будет 0 баллов, текст соответствующий - TextLuck1 - текст через | для разных ответов при неудаче - MinRandomLuck и MaxRandomLuck - это минимальное и максимальное значение случайного числа, например, между 5 и 10 рандом выпадет 7 - такое число попыток будет выдано новому игроку и именно такое количество попыток не будет гарантированно выигрышными. Это делается для того, чтобы был какой-то этап начального вовлечения участников, а не начали и в течении дня закончили(рандом он такой).
Все настройки (значения переменных) влияют на сложность и длительность игры.
Когда игрок нажимает кнопку Крутить или прописывает команду словесно, выполняется проверка значений параметров и игрок попадает на один из 3 этапов. Если игра активна и нет победителей, то выполняется основное вычисление - результат работы автомата. Случайным образом производится выборка эмоджи из заданных Вами (переменные 1-5), при этом учитывается доля неудач lowluck (чем меньше значение lowluck=0, тем больше вероятность выиграть). Если у игрока закончились попытки, то ему предлагается их заработать или подождать 1 час, по истечению которого будет дана 1 попытка.
Ключ - Подписан signeds - признак того, что проверка подписки уже была и игрок получил дополнительное число попыток. На входе в блок переменной присваивается значение 0, после начисления дополнительного числа попыток переменной присваивается 1.
В блоке "Упоминание в истории" выполняется проверка gostop == 1 and winner == False. Соответственно, если игра закончена и в поле gostop лежит 0 или уже определен победитель winner == True, действия не выполняются. Если главное условие выполнено, в поле "Калькулятор" выполняются функции: ms = game_add_stories_mention() - добавляет очки за упоминание в истории (внутри функции проверяются лимиты, лимиты превышены - очки не добавятся) s = game_get_user_score() - возвращает очки пользователя action = game_get_today_user_stories_mention_actions() - возвращает количество упоминаний в сутки.
Блок "Реакция на сторис" ловит реакцию по наличию ключевых слов с помощью условия https://lookaside.fbsbx.com. Именно с этой ссылки начинается сообщение в разделе Клиенты, если пользователь отреагировал на сторис. gostop == 1 and winner == False. Соответственно, если игра закончена и в поле gostop лежит 0 или уже определен победитель winner == True, действия не выполняются. Если главное условие выполнено, в поле "Калькулятор" выполняются функции: bs = game_add_stories() - добавляет очки за реакции на сторис (внутри функции проверяются лимиты, лимиты превышены - очки не добавятся) story = game_get_today_user_stories_actions() - количество сторис от пользователя за текущий день s = game_get_user_score() - возвращает очки пользователя Дополнительное число попыток начисляется, если не превышено stories_max_actions - максимальное количество реакций в день.