Игровой автомат
Запрограммировать случайный выбор символа непросто. Если вероятность выбора каждого из семи символов одинакова, тогда вероятность Я вывода трех совпадений одинакова для любого символа. Другими словами, три изображения желудя появляются так же часто, как и три изображения лисы. То есть не имеет смысла выплачивать различные суммы за совпадения различных картинок.
У реальных игровых автоматов необычайно сложный метод выбора символов, которые появятся в окошках. В таком методе используются сложные математические формулы, так что казино может точно рассчитать вероятность выигрыша.
Но вероятность появления одного символа должна отличаться от вероятности появления другого символа. Например, символ с бревном появляется в 29% случаев. С другой стороны, символ лисы появляется только в 3% случаев.
Это осуществляется с помощью массива, куда записывается вероятность появления того или иного символа. Затем произвольным образом выбирается число из этого массива. Если оно попадает в диапазон между нулем и вероятностью появления первого символа, выбирается первый символ. В противном случае программа переходит к следующему числу в массиве. Так происходит до тех пор, пока какой-нибудь символ не будет выбран. Просмотрите следующий код, чтобы увидеть, как работает эта схема.
// Выбираем произвольный символ в зависимости от вероятности его появления. function randomSymbol() { // Задаем вероятность появления каждого символа. chances = [29, 21, 16, 12, 9, 7, 6]; // Определяем сумму вероятностей. totalChances = 0; for (j = 0; j < chances.length; j++) { totalChances += chances[j]; // Выбираем случайное число. r = int(Math.random() * totalChances); // Определяем, какой символ это число представляет, for (j = 0; j < chances.length; j++) { if (r < chances[j]) { return(j + 1); } else { r -= chances[j]; } } } }Когда анимация клипа "spin" завершается, вызывается функция spinDone, которой передается имя экземпляра клипа. Клип "spin1" представляет собой последнюю анимацию в последовательности. Когда эта анимация закончена (то есть все три барабана прекратили вращаться), вызывается функция calcwin, чтобы определить сумму выигрыша.
// Вызываем функцию после каждой анимации вращения, function spinDone(name) { // Определяем, последний ли это символ, остановились ли барабаны. if (name == "spinl") { // Подсчитываем сумму выигрыша, win = calcWin(); cash += win; showCash(); } }Функция calcWIN определяет, совпадают ли три символа, а также подсчитывает число изображений с желудем в последовательности. Если все три символа совпадают, сумма выигрыша определяется тем, какой это символ. В противном случае игрок все равно может выиграть небольшую сумму денег, если в последовательности находятся одно или два изображения желудя.
// Определяем сумму выигрыша, function calcWin() { // Выясняем, сколько выпало изображений с желудем numAcorns = 0; for (i = l; i < 4; i++) { if (_root["symbol" + i]._currentFrame == 2) numAcorns++; // Проверяем, совпадают ли три символа. firstSymbol = _root["symboll"]._currentFrame; threeOfAkind = true; for (i = 2; i < 4; i++) { if (_root["symbol" + i]._currentFrame != firstSymbol) threeOfAKind = false; // Определяем сумму выигрыша в соответствии с типом символа. if (threeOfAKind) { if (firstSymbol == 1) { win = 20; } else if (firstSymbol == 2) { win = 10; } else if (firstSymbol == 3) { win = 30; } else if (firstSymbol == 4) { win = 50; } else if (firstSymbol == 5) { win = 80; } else if (firstSymbol == 6) { win = 100; } else if (firstSymbol == 7) { win = 1000; // Два изображения желудя. } else if (numAcorns == 2) { win = 2; // Один желудь. } else if (numAcorns == 1) { win = 1; // Изображений желудя нет. } else { win = 0; return(win); } } } } }К сведению
Если вы посмотрите на ролик, который приводится в качестве примера, то увидите, что фон игрового автомата на самом деле располагается на переднем плане. Три окна – это "дырки" в изображении, сквозь них видно, как проигрывается анимация вращения, а также видны символы на барабанах.
Вы можете указать действия, которые будут совершаться, если деньги на счету игрока закончатся. Можно проверять это условие и, если оно оказывается истинным, переходить к другому кадру. Можно сообщить игроку, что игра окончена, либо предоставить еще 100 долларов, чтобы игрок сыграл еще раз.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
Другие возможности
В более сложных игровых автоматах в одном окне могут находиться сразу несколько символов. В некоторых автоматах символы отображаются также и по вертикали, так что игрок может выиграть, если совпадут символы по трем горизонтальным линиям и двум диагоналям. Иногда игрок может выбирать, сколько монет (от одной до пяти) "вставить" в автомат, чтобы определить потенциальный выигрыш (он будет зависеть от величины ставки).
Так как Flash-ролик – не игра на деньги, а просто развлечение, то более важно предусмотреть возможность изменения графики для соответствия различным темам Web-сайтов. Например, для детского сайта можно сделать картинки с конфетами. Изменяя внешний вид автомата и картинки, одну и ту же программу можно использовать для оформления разных сайтов.
