Головоломки Flash

         

что игрок оставляет все карты,


// Сдаем первые пять карт.

function firstDraw() {

cards = new Array();

for (i=0; i

cards.push(deck.pop());

}

// Допускаем, что игрок оставляет все карты,

hold = [true, true, true, true, true];

showCards();
}

Для того чтобы преобразовать содержимое массива cards в то, что игрок видит на экране, функция showCards на рабочем поле устанавливает кадры для каждого из пяти экземпляров клипа. Кадры должны соответствовать символьной строке, расположенной в массиве hand.

// Определяем вид клипов карт, сданных игроку. function showCards() {

for (i=0; i

_root["card"+i].gotoAndStop(cards[i]) ;

}}

После того как все карты будут показаны игроку, он должен решить, что делать дальше. Кнопка "Hold/Draw" под каждой картой вызывает функцию holdDraw и передает ей число от 0 до 4.
Первый раз, когда щелкают по кнопке, программа изменяет экземпляр клипа так, что отображается рубашка карты. Если игрок щелкает по ней еще раз, карта возвращается в исходное состояние. Игрок может сколько угодно переворачивать карты, прежде чем щелкнуть по кнопке Draw.
В массиве hold будет находиться значение true, если игрок хочет оставить соответствующую карту, и false, если хочет ее заменить.

// Переворачиваем карту, предназначенную для замены,

function holdDraw(cardNum) {

// Переворачиваем карту, которая находится среди тех,
// которые игрок хочет оставить,

if (hold[cardNum]) {

_root["card"+cardNum].gotoAndStop("back");

hold[cardNum] = false;

// Если карта перевернута еще раз, оставляем ее.

} else {

_root["card"+cardNum].gotoAndStop(cards[cardNum]);

hold[cardNum] = true;

}}

Когда игрок щелкает по кнопке "Draw", функция secondDraw заменяет те карты, для которых в массиве hold значения были равны false. Затем вызывается функция showCards, чтобы изменения были отражены на экране.
Затем программа с помощью функции handvalue определяет, какой расклад имеется у игрока. Ценность расклада передается функции winning, которая рассчитывает, какую сумму следует добавить к величине cash (сумме наличных). Переменная resultsDisplay используется для отображения этих значений на экране.


Содержание раздела