Гэри Розенцвейг - 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 - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Гэри Розенцвейг
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Просмотрите ролик 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();

firstDraw();

showCards();

}

Создание полностью произвольной перетасованной колоды включает в себя два шага. Первый – создание упорядоченной колоды. Это осуществляется путем циклического просмотра всех мастей и всех рангов карт и для каждой комбинации добавляется соответствующий элемент массива. Затем программа случайным образом выбирает карты из упорядоченной колоды и помещает их в другой массив. Когда массив заполняется, а предыдущий массив оказывается пустым, у вас получается перетасованная колода карт.

// Создаем перетасованную колоду.

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();

}

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

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

function showCards() {

for (i=0; i<5; 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используется для отображения этих значений на экране.

// Заменяем карты и определяем выигрыш.

function secondDraw() {

// Заменяем карты.

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

if (!hold[i]) {

cards[i] = deck.pop();

}

}

showCards();

// Определяем, что на руках у игрока.

handVal = handValue(cards);

// Расчитываем сумму выигрыша.

winAmt = winning(handVal);

resultsDisplay = handVal + ": " + winAmt;

// Добавляем сумму выигрыша к имеющейся сумме наличных.

cash += winAmt;

showCash();

gotoAndPlay("done");

}

Прежде чем перейти к рассмотрению функции handValue,необходимо создать функцию compareHands.Функция handValueсортирует карты на руках у игрока по возрастанию. Программа Flash ничего не знает о колоде игральных карт, так что вам придется «научить» ее распознавать сочетания покера.

Функция compareHandsберет две карты и сравнивает их. Для каждой карты из символьной строки она выбирает первый и второй символы, то есть игнорирует нулевой символ. Таким образом, карта c/ становится "7", а «c13» – «13».

Затем функция возвращает один из трех вариантов ответов: -1 – первая карта меньше по достоинству второй карты, 0 – карты одинакового достоинства, и 1 – ранг первой карты на единицу больше ранга второй.

Эта функция необходима для команды sort, использующейся в функции handValue.Если для сортировки не будет специальной функции, программа попытается отсортировать массив handпо алфавиту, то есть все трефы будут расположены перед бубнами, так как трефовая масть начинается с буквы "c", а бубновая – с "d". А вам нужно, чтобы карты были отсортированы в соответствии с их рангом.

// Эта функция используется командой сортировки для определения,

// какие карты идут первыми.

function compareHands(a,b) {

// Получаем ранг карты.

numa = Number(a.substr(1,2));

numb = Number(b.substr(1,2));

// Возвращаем —1, 0 или 1 в зависимости

// от результата сравнения.

if (numa < numb) return(-1);

if (numa == numb) return(0);

if (numa > numb) return(1);

}

Следующая функция handValueначинается с того, что копирует массив cardsи помещает его в массив hand.Затем она сортирует полученный массив с использованием функции compareHands (1).

Например, если на руках у игрока имеются карты ["h4", "d5", "c2", "s3", "h6"], после сортировки массив будет выглядеть следующим образом: ["c2", "s3", "h4", "d5", "h6"]. Так гораздо проще узнать, находится ли на руках у игрока "стрит".

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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