Гэри Розенцвейг - Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Тут можно читать онлайн Гэри Розенцвейг - Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - бесплатно ознакомительный отрывок. Жанр: comp-programming. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.3/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Гэри Розенцвейг - Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript краткое содержание

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - описание и краткое содержание, автор Гэри Розенцвейг, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.

Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - читать онлайн бесплатно ознакомительный отрывок

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Гэри Розенцвейг
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

"Стрит" определяется путем просмотра каждой карты и выяснением, больше ли ранг этой карты на единицу ранга карты предыдущей (2). Если такое условие выполняется для всего массива, то тогда на руках у игрока «стрит».

Таким образом будет определен не только стрит: когда стрит начинается с десятки и заканчивается тузом, то это "флэш стрит". Произошло ли так или нет, можно определить с помощью простого теста (3).

Затем вы проверяете, одной ли масти карты (4). Для этого все карты, кроме первой, сравниваются с первой. Если масть всех карт совпадает с мастью первой карты, значит, все карты одной масти.

На следующем шаге создается массив counts,в котором будет храниться число карт одинакового достоинства (5). В этом массиве находится 14 элементов, каждый из которых будет отвечать за число карт определенного ранга, имеющихся у игрока. Первый элемент массива не используется, так как нет карт с нулевым рангом.
...

Совет

Некоторые люди думают, что стритом можно считать и такой набор карт, в котором задействован туз. Например, дама, король, туз, двойка и тройка. Это не стрит, а всего лишь его дополнительная вариация, используемая в любительских играх в покер. Туз может быть использован и как первая карта стрита (туз, двойка, тройка, четверка, пятерка), и как последняя (десять, валет, дама, король, туз), но только не в середине.

Например, если на руках туз, две тройки, четверка и валет, массив будет выглядеть следующим образом: [0,1,0,2,1,0,0,0,0,0,0,1,0,0].

Теперь, наконец, программа может начать определение расклада на руках у игрока. Просматривается массив countsи отмечаются все значения пары, тройки или четверки (6). Если один раз встречаются две карты одного достоинства, то у игрока пара. Если один раз встречается три карты одного достоинства, то у игрока тройка; если один раз встречается четыре карты одного достоинства, то – каре. Также можно дважды обнаружить две карты одного достоинства или пару и тройку. В первом случае будет две пары, а втором – фул хаус.

Затем проверяется, есть ли на руках пары с валетом или картами высшего достоинства (7). Обычно видеопокер отмечает только такие пары.

Следующий тест проверяет, есть ли в раскладе туз (8). Это будет нужно для определения флэш стрита. Если у игрока флэш стрит, и одна из карт – туз, то у него самый высший тип флэш стрита – флэш роял.

Теперь у функции есть весь набор значений логических переменных: straight, flush, hasAce, fourOfAKind, threeOfAKind, twoPair, pair, fullHouseи jackOrHigher.С их помощью определяется действительная ценность расклада, и возвращается символьная строка (9).

// Определяем расклад.

function handValue() {

// Копируем и сортируем карты игрока.

hand = cards.slice();

(1) →hand.sort(compareHands);

// Создаем массив мастей и рангов для более легкого доступа к ним.

suits = new Array();

nums = new Array();

for (i=0; i<5; i++) {

suits.push(hand[i].substr(0,1));

nums.push(Number(hand[i].substr(1,2)));

}

(2) →// Проверяем, расположены ли они по возрастанию.

straight = true;

for (i=0; i<4; i++) {

if (nums[i]+1 != num[i+1]) straight = false;

}

(3) →// Ищем десятку, валета, даму, короля и туза.

if (nums[0] == 1) and (nums[1] == 10) and (nums[2]) == 11) and (nums[3] == 12) and (nums[4] == 13)) straight = true;

(4) →// Выясняем, одной ли масти карты.

flush = true;

for (i=1; i<5;l i++) {

if (suits[i] != suits[0]) flush = false;

}

(5) →// Создаем массив для подсчета, сколько карт одного

// достоинства находится в раскладе.

counts = new Array();

for (i=0; i<14; i++) {

counts.push(0);

}

for (i=0; i<5; i++) {

counts[nums[i]]++;

}

(6) → // Используя массив counts, ищем совпадения.

pair = false;

twoPair = false;

threeOfAKind = false;

fourOfAKind = false;

for (i=1; i<14; i++) {

// Найдена пара.

if (counts[i] == 2) {

// Найдена вторая пара.

if (pair) {

twoPair = true;

// Найдена только одна пара.

} else {

pair = true;

}

// Три карты одного достоинства.

} else if (counts[i] == 3) {

threeOfAKind = true;

// Четыре карты одного достоинства.

} else if (counts[i] == 4) {

fourOfAKind = true;

}

}

(7) → // Проверяем, есть ли среди совпадающих карт валеты или

// карты более высокого ранга.

jackOrHigher = false;

for (i=1; i<14; i++) {

if (((i==1) or (i>10) and (counts[i]>=2)) {

jackOtHigher = true;

}

}

(8) → // Выясняем, является ли карта более высокого ранга тузом.

hasAce = false;

if (counts[1] > 0) hasAce = true;

(9) → // Делаем вывод, какой расклад на руках у игрока.

if (straight and flush and hasAce) {

return("Royal Flush");

} else if (straight and flush) {

return("Straight Flush");

} else if (fourOfAKind) {

return("Four-Of-A-Kind");

} else if (pair and threeOfAKind) {

return("Full House");

} else if (flush) {

return("Flush");

} else if (straight) {

return("Straight");

} else if (threeOfAKind) {

return("Three-Of-A-Kind");

} else if (twoPair) {

return("Two Pair");

} else if (pair and jaskOrHigher) {

return("High Pair");

} else if (pair) {

return("Low Pair");

} else {

return("Nothing");

}

}

И последняя оставшаяся функция – winning,которой передается строчка, сгенерированная функцией handValueи которая определяет соответствующую сумму выигрыша.

// Исходя из типа расклада возвращаем сумму выигрыша.

function winnings(handVal) {

if (handVal == "Royal Flush") return(800);

if (handVal == "Straight Flush") return(50);

if (handVal == "Four-Of-A-Kind") return(25);

if (handVal == "Full House") return(8);

if (handVal == "Flush") return(5);

if (handVal == "Straight") return(4);

if (handVal == "Three-Of-A-Kind") return(3);

if (handVal == "Two Pair") return(2);

if (handVal == "High Pair") return(1);

if (handVal == "Low Pair") return(0);

if (handVal == "Nothing") return(0);

}

К сведению

К каждой кнопке Hold/Draw прикреплен собственный фрагмент кода. Для первой кнопки он выглядит следующим образом:

on (press) {

holdDraw(0);

}

Цифра 0сообщает функции holdDraw,что действие производится с нулевой картой. Для остальных четырех кнопок вместо нуля стоят числа от 1 до 4.

Хотя первый кадр ролика сразу же вызывает функцию startGame(см. раздел «Создание кода»), второй кадр должен вызывать функцию startDeal.Просмотрите ролик, приведенный в качестве примера, чтобы самостоятельно изучить, как это реализовано.

Другие возможности

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

Можно сделать и так: когда на счету игрока не остается денег, переходить, например, к кадру game over.

Еще одна вариация игры – позволить игроку ставить от одного до пяти долларов за игру. Таким образом, игрок ставит меньшую сумму, когда чувствует, что ему не везет, и большую – в других случаях.

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

Исходный файл: Blackjack.fla

Двадцать одно – еще одна популярная карточная игра в казино, которую легко можно перенести на компьютер. Раздающий карты следуют определенному набору правил, следовательно, можно написать программу, которая будет имитировать действия раздающего.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Гэри Розенцвейг читать все книги автора по порядку

Гэри Розенцвейг - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript отзывы


Отзывы читателей о книге Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript, автор: Гэри Розенцвейг. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x