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

Игра в очко, или двадцать одно

Подготовка ролика

В отличие от видеопокера на руках может быть от двух до 11 карт. Для каждого расклада создаются 11 экземпляров клипов, имена которых изменяются от "player0" до "player10" и от "dealer0" до "dealer10". Кадры клипа "deck" – пусты. Следовательно, когда вы поместите клип на рабочее поле, вы не увидите ничего, кроме меток, которые устанавливаются программой Flash для клипов по умолчанию. На рис. 15.5 показаны все 22 метки.

Иллюстрированный самоучитель по созданию Flash-игр › Казино и карточные игры › Игра в очко, или двадцать одно
Рис. 15.5. Все карты представлены в виде маленьких кружочков, меток клипа, так как на данный момент-карты не видны

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

Иллюстрированный самоучитель по созданию Flash-игр › Казино и карточные игры › Игра в очко, или двадцать одно
Рис. 15.6. В сложной основной временной шкале игры в очко для каждого шага существует помеченный кадр

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

Обязательно просмотрите ролик Blackjack.fla, чтобы самому увидеть, где расположены ключевые кадры и какие функции они вызывают.

Создание кода

Первый кадр вызывает функцию initGame, но после нее не идет команда stop (), так как указатель должен двигаться и перейти к кадру "shuffle".

initGame();

Функция initGame определяет исходную сумму наличных денег игрока.

function initGame() {
    cash = 100;
    showCash();
}

Функция createDeck похожа на одноименную функцию, используемую в видеопокере, но здесь она шесть раз добавляет каждую карту, чтобы создать шесть колод карт.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.