Видеопокер
Подготовка ролика
Основной библиотечный элемент в данной игре – колода карт, то есть клип с 54 кадрами. Первый кадр отображает пустой контур карты. Во втором кадре содержится рубашка карты. Кадры 3-54 показывают различные карты колоды. Каждый кадр имеет такое же имя, какое используется в коде для идентификации карт. Например, "c1" – туз треф и "h11" – валет червей.
Просмотрите ролик Videopoker.fla и вы увидите, что для клипа "deck" выделена целая папка библиотеки, заполненная графическими изображениями. Это упрощает повторное использование элементов для разных карт.
Ролик составлен из пяти экземпляров клипа "deck" (колода), которые называются "card0", "card1", "card2", "card3" и "card4". В первом кадре нужна только кнопка "Deal" (Раздать), которая отображается также и в третьем кадре.
Во втором кадре находится кнопка "Draw" (Выигрыш), а под каждой картой – кнопка "Hold/Replace" (Оставить/Поменять).
Создание кода
Большая часть кода содержится в первом кадре основной временной шкалы. Начинается она с того, что игроку предоставляется 100 долларов.
startGame();
stop();
// "Выдаем" исходную сумму,
function
startGame() {
cash
=
100
;
}
Как и в предыдущем проекте, перед суммой наличных денег игрока отобразите знак "$".
// Отображаем сумму наличных со знаком доллара,
function
showCash() {
cashDisplay
=
"$"
+
cash;
}
Раздача карт начинается с того, что у игрока изымается один доллар. Каждая раздача производится из новой колоды, состоящей из 52 карт. Функция firstDraw берет первые пять карт, а функция showCards помешает клипы соответствующих карт на рабочее поле.
// Сдача карты,
function
startDeal() {
// Уменьшаем сумму наличных денег.
cash
-
-
;
showCash();
// Перетасовываем карты и снова сдаем их.
createDeck();
f irstDraw();
showCards();
}
Создание полностью произвольной перетасованной колоды включает в себя два шага. Первый – создание упорядоченной колоды. Это осуществляется путем циклического просмотра всех мастей и всех рангов карт и для каждой комбинации добавляется соответствующий элемент массива.
Затем программа случайным образом выбирает карты из упорядоченной колоды и помещает их в другой массив. Когда массив заполняется, а предыдущий массив оказывается пустым, у вас получается перетасованная колода карт.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Зарегистрироваться и Начать продвижение
// Создаем перетасованную колоду,
function
createDeck() {
// Создаем упорядоченную колоду,
suits
=
[
"c"
,
"d"
,
"s"
,
"h"
];
temp
=
new
Array();
for
(suit
=
0
; suit
<
4
; suit
+
+
) {
for
(num
=
1
; num
<
14
; num
+
+
) {
temp.push(suits[suit]
+
num);
}
// Случайным образом выбираем карты,
// пока колода не будет полностью перетасована.
deck
=
new
Array();
while
(temp.length
>
0
) {
r
=
int(Math.random()
*
temp.length), deck.push(temp[r]);
temp.splice(r,
1
);
}
}
}
Функция firstDraw берет пять карт из колоды и помешает их в массив cards, а также создает небольшой массив hold, в котором хранятся имена тех карт, которые игрок хочет оставить.
// Сдаем первые пять карт.
function
firstDraw() {
cards
=
new
Array();
for
(i
=
0
; i
<
5
; i
+
+
) {
cards.push(deck.pop());
}
// Допускаем, что игрок оставляет все карты,
hold
=
[
true
,
true
,
true
,
true
,
true
];
showCards();
}