Иллюстрированный самоучитель по Flash-games


Создание кода - часть 3


// Определяем сумму вероятностей.

totalChances = 0;

for (j=0; j

totalChances += chances[j];

// Выбираем случайное число.

г = 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

if (_root["symbol"+i]._currentFrame == 2)
numAcorns++;

// Проверяем, совпадают ли три символа.

firstSymbol = _root["symboll"]._currentFrame;

threeOfAkind = true;

for(i=2; 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);}




Начало  Назад  Вперед



Книжный магазин