Продовжуємо розглядати ідеї, що наведені у самовчителі "Ілюстрований самовчитель зі створення Flash-ігор"
Отже, далі - які ігри є у книжці. Спочатку просто список, нижче розглянемо більш детально ці ігри. Я буду приводити лише опис як повинен працювати проєкт (завдання проекту). Рекомандації як це реалізувати не привожу, адже для Flash там свої рекомендації, вони дуже відрізняються від реалізації у Visual Studio. Яле якщо вам цікаві ці рекомендації, ви можете їх знайти у самовчителі http://samoychiteli.ru/document10219.html
Напевно, найпоширенішою інтерактивною програмою, яку можна зустріти в Internet, є програма-провісник, що діє основі випадкових чисел. Зазвичай вона називається "Маеgic Eight Balls" (Вісім чарівних куль), на ім'я популярної іграшки Tyco.
На рис. 6.1 показано, як може виглядати така гра.
Рис. 6.1. Лисиця відповість на ваше запитання: після того, як ви клацніть по кришталевій кулі
Після клацання по кулі лисиця помахає лапами і користувач отримає відповідь, яка буде обрана навмання зі списку.
Створення музичного автомата – наочний метод продемонструвати, як використовується звук у Flash. Це звичайний ролик, який відтворює кілька пісень.
Інтерфейс програми зображено на рис. 6.7. Такий музичний автомат може містити до 10 різних пісень. Пісня відтворюється після натискання на її назву у списку.
Завдання проекту
Час, запрограмований на комп'ютері користувача, повинен відображатися у вигляді настінного або наручного годинника. Годинник повинен мати годинникову, хвилинну та секундну стрілки. Краще зробити годинник незвичайним і як стрілки використовувати не прості лінії, а який-небудь кліп.
Лавова лампа
Завдання проекту
У цьому розділі ми створимо лавову лампу, що функціонуватиме за принципом випадковості. Це означає, що код випадково визначає, коли і де з'являються нові бульбашки. В результаті візерунок ніколи не повторюватиметься.
Гра "Життя"
Гра "Життя" відома як результат серйозних розробок у галузі штучного інтелекту та одночасно як популярна гра. Вона була винайдена математиком Джоном Конвеєм і набула популярності завдяки опублікованій в 1970 році статті в журналі "Scientific American". Незабаром після цього гра стала надзвичайно популярною серед програмістів.
Виглядає все дуже просто – у осередки сітки на ігровому полі міститься довільний набір точок. На черговому кроці гри зміст кожного осередку сітки піддається перетворенням відповідно до певного набору правил. Якщо ця комірка містить точку і в прилеглих до неї осередках знаходиться дві або три точки, то вміст осередку залишається без змін. Якщо в прилеглих осередках міститься менше двох точок, то точка в цьому осередку "помирає" від самотності, а якщо більше трьох, то точка "помирає" від тісноти. Якщо ж ця осередок порожня і в прилеглих осередках міститься рівно три точки, то в цьому осередку "народжується" нова точка.
Ось і всі правила, які вам потрібні. Результати можуть виявитися дивовижними. Спробуйте запустити вихідний файл. Створіть колонію точок подібно до зображених на рис. 6.15 та натисніть кнопку Run.
Завдання проекту
Програма створює сітку, яка заповнює екран. Кожен осередок може містити або не містити крапку. Натиснувши на комірку, користувач може змінити її стан.
Іграшки-конструктори
Склади лисицю методом "Перетягни і поклади"
Завдання проекту
Завдання цього проекту – створити програму, яка дозволить користувачеві приєднувати частини тіла лисиці до нерухомого тулуба і так складати зображення звірка. Метод drag-and drop (перетягні та поклади) повинен бути знайомий усім, хто вміє працювати з комп'ютером.
Створи лисицю методом "Натисні та зміни"
Завдання проекту
Вихідне зображення буде повним, але коли користувач клацне по одному з його елементів, він зміниться. Наприклад, користувач може клацнути по очах, і замість них з'явиться інша пара очей.
Альбом для малювання
Завдання проекту
Завдання цього розділу – створити програму, в якій користувач може малювати, як у простій графічній програмі. Користувач повинен мати можливість малювати прості лінії та фігури, а також застосовувати різні кольори.
Музичний міксер
Завдання проекту
У цьому розділі розглядається створення іграшки, яка дозволяла б користувачу складати власні музичні твори, змішуючи звуки барабанного бою, цикли басів та інші окремі звукові ефекти. При цьому необхідно забезпечити можливість заміни файлів, а також передбачити зворотний зв'язок із користувачем, щоб він бачив, які музичні відрізки відтворюються. На рис. 7.8 показаний інтерфейс такої програми.
Лисиця, що танцює
Завдання проекту
Ця програма має два режими: запис та відтворення. Спочатку користувач використовує режим запису та контролює поведінку лисиці в режимі реального часу. Він може включити в танець один із трьох різних рухів. У перервах між вибраними рухами лисиця виконує основний танець.
Для завершення запису користувач може натиснути кнопку Done та повернутися до головного меню. Відтворення включається кнопкою Playback, після чого точно відтворюється записана послідовність.
Ігри типу "Знайди та натисні"
Знайди лисицю
У грі "Знайди лисицю" гравцеві показують зображення, в якому він повинен визначити місце розташування певних об'єктів. У разі місцем дії є ліс, а об'єктами, які шукає гравець, – лисиці.
На перший погляд гра є простою, проте основна її ідея в тому, щоб добре замаскувати об'єкти.
Завдання проекту
Коли гравець знаходить лисицю, він має вибрати її клацанням миші. Якщо користувач зробив правильний вибір, він має це побачити. Він також повинен знати, яку лисицю знайшов.
Після того, як всі сім лисиць знайдені, гра повинна автоматично перейти у нове вікно. Це означає, слід стежити, які об'єкти знайдено, а які ні.
Злови лисицю
Ігрова область гри "Впіймай лисицю" являє собою колоду з 18 отворами. Іноді з отвору на одну-дві секунди виглядає лисиця. Натиснувши на лисиці, гравець отримує очки. Лисиця може з'явитися у будь-якому отворі.
Завдання проекту
Завдання гри у тому, щоб отвір, у якому з'являються об'єкти, вибиралося програмою довільним чином. Лисиця може здатися в будь-якому з 18 отворів і майже зникнути.
Підстріли лисицю
Розглянемо ще одну гру із серії "Знайди та натисні" - гру-тир. Як і в грі "Знайди лисицю", завдання користувача – клацнути по об'єктах на екрані. На гру "Впіймай лисицю" вона схожа тим, що об'єкти з'являються на екрані в довільних місцях і через довільний інтервал часу.
Але на відміну від попередніх ігор, об'єкти будуть рухатися, лисиця не просто з'являтиметься з отвору, а бігатиме, повертатиметься або виглядатиме з-за дерева. Гравець повинен мати хорошу реакцію, щоб потрапити по лисиці до того, як вона знову зникне.
Завдання проекту
За основу цієї гри взята гра "Піймай лисицю". Лисиці постійно бігають з однієї частини ігрового поля в іншу. Ми будемо використовувати три анімаційні послідовності: лисиця перебігає з місця на місце, розгойдується під деревом і виглядає з-за дерева. Кожна анімація використовується два або три рази, різні їх комбінації становлять сім можливих анімацій, що відтворюються під час гри.
З інтервалом у дві секунди і менше запускається одна з анімаційних послідовностей, і гравець отримує можливість клацнути по лисиці. Анімація має продовжитися, показавши перед цим, чи потрапив гравець у ціль.
Гра повинна відслідковувати кількість зроблених пострілів та кількість влучень, а також задавати обмеження на кількість зроблених пострілів. Курсор слід зробити над вигляді стрілки, а вигляді прицілу рушниці.
Полювання на лис
Завдання проекту
Завдання полягає в тому, щоб зробити гру - стрілялку, що дозволяє користувачеві пересуватися вліво і вправо по простору, більшому, ніж здатне вмістити робоче поле екрана. Мішені виникають у випадковий час та у випадкових місцях, незалежно від того, куди зараз дивиться гравець. Переміщення має створювати гравцю ілюзію простору, щоб близькі об'єкти рухалися швидше далеких.
Ігри типу "Злови або пропусти"
Злови яблуко
У першій грі "Впіймай яблуко" лисиця рухатиметься в нижній частині екрану і намагатиметься зловити яблука, що падають з дерева.
Завдання проекту
Лисою можна керувати за допомогою клавіш "вліво" та "вправо". Лисиця буде пересуватися протягом усього часу, доки користувач утримує одну із клавіш. Перед правою або лівою межею екрана лисиця автоматично зупиниться.
Яблука падають з довільних місць у верхній частині екрану і через довільний інтервал часу, але не надто часто. Спочатку яблука падають повільно, але під час гри швидкість їхнього падіння збільшується. Після того, як впаде певна кількість яблук, гра завершується. Рахунок дорівнюватиме кількості спійманих лисицею яблук.
Злови гарне яблуко
У цьому прикладі в попередню гру буде додано "погане яблуко". Це досить легко зробити. Давайте ускладнимо завдання і зробимо так, щоб хороші і погані яблука виглядали по-різному.
На кожному падаючому яблуку буде намальована буква. Залежно від того, гласна це чи приголосна, яблуко буде вважатися хорошим чи поганим.
Завдання проекту
Завдання проекту – так змінити гру "Піймай яблуко", щоб враховувати різницю літер (голосні/згодні). Спіймавши будь-яке яблуко з намальованою голосною літерою, гравець отримає очко, спіймавши яблуко із згодою, він втратить очки. При цьому рахунок не може бути меншим за 0.
Сплав на байдарці
У цьому розділі цієї глави ми, використовуючи код двох попередніх ігор, створимо зовсім іншу на перший погляд гру. У цій грі наш герой лисиця пливтиме річкою на байдарці, уникаючи перешкод і намагаючись досягти гарного часу.
Завдання проекту
Одним із завдань цієї гри є створення певної ілюзії у гравця. Хоча байдарка залишається в центрі екрана, гравець складається враження, що вона рухається вниз по річці. Це досягається за допомогою об'єктів, що рухаються вгору екраном.
Більшість коду буде взято з двох ігор, розглянутих раніше в цьому розділі. Однак, на відміну від попередніх ігор, уникати доведеться все, а не лише деякі об'єкти. Рахунок міститиме не кількість набраних очок, а кількість зіткнень байдарки з об'єктами. Чим більше відбудеться зіткнень, тим швидше закінчиться гра.
Гонки
Щоб зробити з гри "Сплав на байдарці" гру "Гонки", треба просто змінити графіку і нічого більше. Замініть байдарку на машину. Замініть кадри з поворотами, щоб відобразити поворот коліс машини, а не поворот байдарки в іншому напрямку. Замініть кадр човна на кадр автокатастрофи і т.д.
Однак, ми можемо використовувати схожу техніку для створення гоночних ігор різних типів. Замість виду на дорогу зверху ми можемо зробити вид з місця водія. Дорога рухається до гравця
Завдання проекту
Головне завдання цієї гри – створення ілюзії глибини. Хоча екран, як і раніше, двомірний і жодних реальних тривимірних кодів не використовується, гравець повинен відчувати, що дорога входить в екран, а не повзе по ньому зверху вниз.
На додаток, ми приймемо невеликий набір правил. На дорозі є позначки, які водію необхідно торкнутися, щоб заробити очки. Чим швидше водій їде, тим більше потенційних позначок він може торкнутися, перш ніж закінчиться час гри. Але що швидше він їде, то більше в нього шансів не встигнути зловити мітку до того, як вона піде. До того ж, якщо водій доторкнувся до кордонів дороги, він уповільнює хід та зменшує свою потенційну можливість заробити очки, оскільки на меншій швидкості йому трапляється менше міток.
Ігри типу "Прицілиться та постріли"
Стрілянина по повітряних кулях
Перша гра складається з трьох основних елементів: лисиці, повітряних куль та снарядів. У нашому прикладі лисиця стріляє лише горошинами з соломинки. Тому гра підійде для будь-якої аудиторії.
Завдання проекту
Завдання цього проекту – створити гру, в якій лисиця переміщається вліво та вправо та стріляє вгору по повітряних кулях. Кулі з'являються ліворуч і праворуч, на різній висоті і летять із різною швидкістю. Після того, як пролетить певну кількість куль, гра закінчується. Рахунок визначається кількістю куль, що лопнули.
Стрілянина з прицілом
А що, якби в попередній грі герой стояв, а чи не рухався з боку в бік? Тоді він міг би спрямовувати соломинку в будь-якому напрямку, а не тільки строго вгору. А снаряди підкорялися б законам гравітації і, описавши дугу, падали на землю.
Завдання проекту
Наше завдання – видалити з попередньої гри один елемент та додати два нові. Елементом, який необхідно видалити, є переміщення лисиці вправо та вліво. У цій грі клавіші зі стрілками "вліво" і "вправо" не діятимуть, а лисиця залишатиметься в центрі екрана.
Нові елементи – можливість прицілюватися та підпорядкування кулі закону гравітації. За допомогою миші гравець може прицілитися і соломинка повернеться в потрібному напрямку. Після пострілу куля впаде на землю.
Кульки-загарбники
У самій класичній відеогрі, "Космічні загарбники", є дуже дивна, але поведінка ворожих одиниць, що запам'ятовується. Вони рухаються групою з боку на бік, повільно опускаючись вниз. Якщо вони досягнуть поверхні, гравець програє.
Давайте змінимо першу гру цієї глави так, щоб повітряні кульки поводилися як космічні загарбники.
Завдання проекту
Поведінка кульок проста. Вони утворюють групу шириною 10 та висотою 3 кульки, як показано на рис. 10.5. Кульки рухаються праворуч, поки перша колона кульок не торкнеться правої сторони екрана. Тоді вони змінюють напрям і трохи опускаються.
Тим часом лисиця внизу рухається ліворуч і стріляє в кульки. Вона повинна перестріляти їх усіх, перш ніж група кульок досягне поверхні землі.
Ігри з м'ячем та битою
Стіна та м'яч
Перша гра називається "Стіна та м'яч". У ній є біта, що керується користувачем, і три стіни, від яких може відскакувати м'яч. Четвертої стіни немає (вона відкрита). Завдання гравця полягає в тому, щоб не дозволити м'ячу пролетіти повз біти.
Завдання проекту
Мета даного проекту - створити гру, де м'яч, що рухається, буде відскакувати від стін і біти. Біта переміщатиметься по вертикалі відповідно до руху миші. Якщо м'яч пролітає повз біту і досягає межі екрана, гра закінчується. При зіткненні м'яча з битою швидкість першого має трохи збільшуватися.
М'яч та бита
Хоча попередня гра весела, вона має один недолік: немає жодної можливості виграти. Ви просто граєте до тих пір, поки не набридне або поки не програєте.
Гра стане цікавішою, якщо дозволити гравцеві керувати однією битою в той час, як комп'ютер керуватиме іншою. Гравець спробує не пропустити м'яч, сподіваючись, що його пропустить комп'ютер.
Завдання проекту
Мета гри полягає в тому, щоб створити супротивника, який володіє штучним інтелектом, з яким змагатиметься гравець. Ліва біта керуватиметься гравцем, а права – відтворювати можливу реакцію людини за допомогою комп'ютерних розрахунків.
М'яч відскакуватиме від верхньої та нижньої стін, і тільки від дій гравця та комп'ютера залежатиме, чи вилетить він за межі екрана.
Коли м'яч пролітає повз одну з біт гравців, гра зупиняється доти, доки користувач не клацне по кнопці "serve". Потім м'яч знову з'явиться у середині екрана. Рахунок гри збережеться. Гра закінчується в тому випадку, якщо один із гравців набере 7 очок.
Біта та блоки
Наступна гра набагато складніша за два попередні, хоча в ній використовуються ті ж основні елементи: м'яч, біта та стіни. Ця класична гра спочатку називалася "Breakout". На рис. показаний фрагмент гри. На додаток до м'яча та биті вгорі екрана розташовані п'ять рядів блоків. Ціль гри – вибити блоки за допомогою м'яча. Коли будуть вибиті всі блоки, гра переходить на наступний рівень, де м'яч летить із більшою швидкістю.
Завдання проекту
Мета полягає в тому, щоб створити класичну гру ігрових автоматів з битою та блоками. За допомогою миші можна перемішати биту по горизонталі. М'яч відскакує від верхньої та бічних стін і вважається пропущеним, якщо пролітає повз біти, крізь нижню стіну.
Коли м'яч ударяється в блок, він відскакує, а блок зникає. Після того як будуть вибиті всі блоки, гра переходить на інший рівень, де на екрані будуть ті самі блоки, але м'яч рухатиметься швидше. Перегляньте ролик Paddlebricks.fla, щоб побачити, як працює гра.
Інша відмінність цієї гри від попередніх полягає в тому, що напрямок руху м'яча залежить від того, де м'яч удариться про біту. Якщо він потрапляє в ліву частину біти, то відлітає вліво, якщо в праву, то вправо. Кут визначається тим, як далеко від центру біти вдарився м'яч.
Біта та блоки у трьох вимірах
Отже, у цьому розділі ви бачили, як куля рухається площиною. А якщо куля повинна буде рухатися в третьому вимірі: в глибину? На рис. показано, як це може бути. Біта це напівпрозорий квадрат на передньому плані гри. Чотири бічні стіни ведуть до задньої стіни, яка знаходиться на деякій відстані "в глибині" екрана. Куля зменшується у міру того, як стає все далі від біти. Мета полягає в тому, щоб вибити всі цеглини (блоки) із задньої стіни.
Завдання проекту
Завдання цієї гри – створення ілюзії тривимірності. Екрани комп'ютерів безнадійно зав'язнули у двох вимірах. Але змінюючи розмір кулі: і використовуючи лінії перспективи, щоб змусити кулю рухатися у міру видалення до центру екрана, ви можете створити ілюзію, що кулька рухається прямо вглиб екрана.
Ціль полягає в тому, щоб вибити всі 16 блоків із задньої стіни. Як тільки куля стосується цегли, вона випадає. Коли куля досягає рівня з битою, вона повинна займати таке положення, щоб торкнутися м'яча. Місце, де куля торкнулася біти, визначає новий напрямок кулі.
Коли всі 16 цегли вибиті, рівень пройдено. На наступному рівні куля рухається дещо швидше.
Вікторини та загадки зі словами
Вікторина у Flash
Перші дві гри у цьому розділі, побудовані за принципом запитань та відповідей. Перша гра – вікторина з десятьма питаннями, кожному з яких дано чотири варіанти відповіді. Вибравши відповідь, гравець бачить, правильна вона чи ні.
На рис. представлений головний кадр гри. Питання розташоване вгорі, а чотири варіанти відповіді – під ним. Користувач повинен натиснути кнопку зліва від відповіді.
Завдання проекту
Мета проекту – створити програму, яка отримуватиме питання із зовнішнього текстового файлу, потім один за одним пропонуватиме їх гравцеві. Правильність/неправильність відповіді позначається звуковим сигналом.
Після того, як будуть задані десять питань, гра закінчиться. На екрані має з'явитися кількість окулярів.
Вікторина з урахуванням часу
Тепер, коли у вас є програма вікторини, можна дещо додати і створити більш розгорнутий варіант вікторини. Ця гра відрізняється від попередньої зовсім небагатьом (в даному випадку ми розглянемо бліц-опитування, хоча це окремий випадок вікторини).
Ви додасте складніший підрахунок очок, надаючи гравцеві можливість набирати більшу кількість очок за швидкість, а також дозволяючи кілька разів відповідати на одне запитання та не втрачати очки за неправильну відповідь.
Інша можливість – це випадковість виведення відповідей, тобто відповіді перемішуватимуться, внаслідок чого з'являтимуться на екрані у довільному порядку. Це спростить створення списку питань, оскільки перша відповідь у файлі даних завжди буде правильною відповіддю, але вона не завжди відображатиметься для користувача на першому місці.
Завдання проекту
Мета проекту полягає у створенні розгорнутого варіанта вікторини, заснованого на попередньому ролику. Відповіді будуть представлені не в одній і тій же послідовності, а щоразу відображатимуться у довільному порядку.
Потенційно кожне питання коштує 1000 очок. Але що довше користувач думає над відповіддю, то менше очок отримує. Якщо користувач дає неправильну відповідь, він втрачає певну кількість можливих очок. Коли ж, нарешті, користувач дасть правильну відповідь, кількість можливих очок, що залишилися, буде додано до його рахунку.
Гра "Шибениця"
Наступна гра має бути знайома всім. У класичній грі з ручкою та папером, "Шибениця", гравець повинен вгадати, які символи використовуються у фразі. Якщо він вгадує букву, стає видно всі місця її включення у фразу. Якщо у всій фразі немає такої літери, додається фрагмент малюнка з повішеною людиною. Якщо малюнок закінчено, перш ніж фраза вгадана, гравець програє.
Завдання проекту
Мета проекту – відтворити класичну гру "Шибениця" в середовищі Flash. Гравець може за допомогою клавіатури вгадувати літери. Програма показує літери і малює повішену людину або, як у прикладі, лисицю.
Криптограма
Криптограма – це досить поширений варіант головоломки зі слів, яка найчастіше буває важчою, ніж гра в шибеницю. Якщо ви ніколи не бачили нічого подібного, загляньте в розділ кросвордів у вашій місцевій газеті. Швидше за все, поряд із щоденним кросвордом ви знайдете й криптограму.
У криптограмі пропозиція або висловлювання зашифрована за допомогою найпростішої технології: кожна літера алфавіту замінена якоюсь іншою літерою. Наприклад, "Привіт" може бути "Бнефід", де Б замінює П, Н замінює Р, Е заміняє І, Ф заміняє В, І заміняє Е та Д замінює Т.
Дивність криптограм у тому, що чим вони довші, тим легше їх розшифрувати. Зазвичай процес починають з пошуку слів, що складаються з однієї літери, вони можуть означати "і" та "в", дволітерних слів, часто це "на", "по". Якщо фраза починається з трилітерного слова, це може бути "що".
Завдання проекту
Криптограму зазвичай вирішують за допомогою олівця та паперу. Комп'ютер дуже полегшує розгадку такої головоломки. У паперовій версії гри, якщо гравець відгадав, що 3 означає Е, він повинен знайти всі 3 і замінити їх на Е. Якщо ж він або вона свою думку поміняє, все Е доведеться стерти.
Гра робить це автоматично. Коли гравець задає, що 3 відповідає Е, всі 3 головоломки негайно замінюються на Е. Якщо ж гравець потім змінює своє рішення, всі 3 легко можуть бути замінені на А.
Мозаїка
Пазл
Гра "Пазл" складається з елементів одного розміру, які з'єднуючись утворюють цілісне зображення. Зазвичай вони зроблені з картону і для складання картинки потрібна велика площа, наприклад, обідній стіл. Оскільки екран монітора дуже малий у порівнянні зі столом, зробити комп'ютерний аналог такої гри дуже важко.
Завдання проекту
Мета проекту – створити просту, але від цього не менш цікаву гру "Пазл". Гравець зможе перетягувати елементи мозаїки з межі робочого поля на сітку. Коли елемент опиниться біля місця, де повинен розташовуватися, він буде зафіксований.
П'ятнашки
На відміну від пазла гра "П'ятнашки" куди цікавіша як комп'ютерна гра, ніж у вигляді звичайної гри. "Пляшки" зазвичай складаються з 15 квадратних елементів, які перемішуються вздовж сітки, розрахованої на 16 елементів. Пусте місце – додаткова область, куди може бути переміщений елемент мозаїки.
На рис. показана мозаїка із зображенням лисиці. Ви можете натиснути будь-який з чотирьох елементів, суміжних з порожнім квадратиком, щоб перемістити його. Мета гри – правильно зібрати картинку, залишивши порожнім місце у нижньому правому кутку.
Завдання проекту
Мета проекту – створити просту, легку гру за принципом "П'ятнашок". Гравець клацатиме елемент: якщо поруч є порожній квадрат, елемент буде перемішаний.
Дуже важливо на початку гри випадковим чином розташувати елементи. Для цього Flash-ролик спочатку намалює всі елементи мозаїки на своїх місцях, а потім буде виконано 100 переміщень. Таким чином, елементи виявляться перемішаними, і зібрати таку мозаїку буде складно, але можливо.
Гра збігів
Гра збігів (або гра пам'яті, як її іноді називають) використовує сітку з картами, розташованими сорочками догори. Існує дві карти кожного типу. Гравець може одночасно відкрити дві картки. Якщо вони збігаються, карти видаляються. В іншому випадку обидві карти знову перевертаються сорочками вгору. Гравець намагається запам'ятати, де яка карта розташована, щоб було легше знайти збіги.
Завдання проекту
Мета проекту полягає у створенні простої, але при цьому щоразу різної гри збігів. Гравець зможе вибрати одну карту, а потім іншу. Кожна карта буде перевернута при натисканні мишею, так що буде видно її зображення. Якщо карти збігаються, вони обидві видаляються, інакше знову перевертаються, як тільки користувач вибере наступну картку.
Знайди картинку
У грі "Знайди картинку" гравець шукає не цілу картинку, а її сегмент. Цілком картинка показана; праворуч, а зліва показана її збільшена частина. Завдання полягає в тому, щоб швидко знайти місце збільшеного сегмента на картинці.
Гра показана на мал. сегмент зліва обраний випадково і збільшений утричі. Гравець повинен натиснути на відповідне місце великої картинки. Залежно від того, як швидко він знайшов правильне місце, нараховуються додаткові окуляри.
Завдання проекту
Щоб створити цю гру, ваш сценарій повинен вміти вибирати випадковий сегмент із великої картинки та показувати його поряд з нею. Це потребує використання масок. Також ActionScript має вміти зіставити сегмент з відповідною областю на великій картинці.
Крім маніпуляцій із зображеннями, у гру має бути включений таймер. Таймер починає з якогось більшого числа і робить зворотний відлік. Коли гравець вірно вгадує місце сегмента на малюнку, він отримує додаткові очки залежно від показань таймера.
Головоломки
Гра на розвиток пам'яті
У грі є чотири різні фрагменти, які програються у довільному порядку. При програванні фрагмента загоряється світлове табло та відтворюється звуковий сигнал. Елементами цієї гри є чотири птахи, що сидять на гілці.
У грі дві основні фази. Перша фаза – птахи цвірінькають у певній послідовності. У другій фазі користувач намагається відтворити цю послідовність. Потім фази повторюються, причому додається ще одна мелодія. Незабаром послідовність стає настільки довгою, що користувач не може її відтворити, і гра закінчується.
Дедукція
Мета гри – вгадати довільну послідовність із п'яти кольорів. Гравець починає з припущень. Потім комп'ютер відповідає, чи відгадано хоч щось, тобто гравець отримує інформацію про кількість правильно розташованих кольорів та кількість правильних кольорів, що опинилися не на своїх місцях. На основі цієї інформації гравець намагається вгадати ще раз. Так триває певна кількість спроб або доти, доки гравець не вгадає послідовність.
На рис. показано фрагмент цієї гри. Область гри – випиляне поліно, а кольори представлені у вигляді камінчиків. Гравець може вибрати будь-який із п'яти кольорових камінчиків, щоб заповнити порожній простір, або не вибрати взагалі. Комп'ютер відповідає так: відображає білий камінчик для кожного правильного кольору, і чорний камінчик для кожного правильного кольору, поміщеного не на своє місце.
Завдання проекту
Ціль ролика – створити просту гру під назвою "Дедукція". Гравцеві надається 10 шансів, щоб вгадати послідовність. Після кожного варіанта гравцеві видається результат вгадування.
Гра "Йога"
Класична гра "Йога" відома вже тисячі років. Сучасні версії виготовлені з дешевого пластику. З розвитком Web-технологій з'явився віртуальний варіант цієї гри.
Для гри потрібні грати з отворами для кілочків. Кільця розташовані у всіх отворах, крім одного. Гравець повинен взяти один кілочок і перестрибнути через інший, при цьому потрапити на порожнє місце. Кільце, через яке "перестрибнули", при цьому видаляється. Гра триває доти, доки не можна буде зробити більше жодного пересування.
Хороший гравець може виграти, якщо у нього залишиться лише один кілочок. При швидкій грі, без роздумів, може залишитися приблизно від 8 до 12 кілочків.
Завдання проекту
Ціль проекту – створити комп'ютерний варіант гри "Йога". Гравець клацає мишкою та перемішає кілочки. Неправильний хід зробити не можна, а правильний автоматично видаляє елемент, через який перестрибнули.
Рекурсивні блоки
Основна ідея цієї гри полягає в тому, що екран заповнений великою решіткою, що складається із кольорових блоків. Гравець може натиснути на блок, щоб видалити його з ґрат. Але щоб видалення блоку стало можливим, він повинен мати зверху, знизу або поруч сусідній блок того ж кольору.
Коли гравець натискає на доступний для видалення блок, він забирається. До того ж, забирається і сусідній блок того ж кольору. Всі сусіди одного кольору з віддаленим блоком також видаляються. Таким чином, пов'язана область блоків одного кольору може бути видалена натисканням будь-якої з блоків цієї області.
Після видалення групи блоків їх верхні сусіди спускаються вниз на місця, що звільнилися. Якщо якась колонка блоків виявляється абсолютно порожньою, грати зсуваються вліво, щоб заповнити вільні місця.
Завдання проекту
Ціль цього проекту в тому, щоб створити гру, що дає лише основне уявлення про ігровий процес. На додаток до загальних правил, що вже обговорювалися, потрібно зробити ще просту систему підрахунку очок. Однак, не буде зроблено жодної спроби визначити, коли гра закінчується.
Казино та карткові ігри
Ігровий автомат
Ігровий автомат - гра функціонально проста, але з досить складним інтерфейсом. Гравець просто клацає по важелю ігрового автомата і чекає на результат. Автомат сам виконує всю роботу, що залишилася.
На рис. показаний фрагмент ролика. Важіль справа – єдиний елемент, який буде реагувати на дії гравця. Коли ігровий автомат зупиняється, у трьох вікнах відображаються зображення.
Завдання проекту
На відміну від багатьох ігрових автоматів, у яких використовуються цікаві, але складні способи визначення ставок і отримання виграшу, цей гранично простий. Гравець клацає важелем, щоб привести його в дію. Потім барабани у трьох вікнах починають крутитися. Один за одним вони зупинятимуться, показуючи довільний елемент (картинку).
Відеопокер
У казино автомати з відеопокер розташовуються поруч з ігровими автоматами. По суті, вони є тим самим: ви вставляєте монету і можете виграти деяку суму грошей. Єдина відмінність полягає в тому, що протягом гри ви повинні робити деякі дії, щоб вплинути на результат, а автомат на них реагуватиме.
Не схибите: казино завжди виграє. Але оскільки гравець може заміняти деякі карти протягом гри, йому здається, що у нього з'являється більше шансів на виграш. Така можливість ускладнює написання програми.
Завдання проекту
Ця гра складається із трьох кроків. Перший крок – гра чекає, доки гравець попросить здати карти. На другому кроці гравець дивиться на п'ять карт, які йому роздали, і вирішує, які залишити, а які змінити. І останній крок – лунають нові карти, і підраховується сума виграшу. Після цього здійснюється перехід до першого кроку.
Гра повинна представити гравцеві набір з п'яти карт, вибраних випадково з перемішаної колоди.
Потім гравець може вибрати ті карти, які слід змінити (можна змінити все). Після заміни програма повинна розглянути остаточний набір карток та підрахувати, скільки вони "коштують".
Гра в очко, або двадцять одне
Завдання проекту
Наша мета – створити базовий варіант гри в очко, не прагнучи реалізувати повний набір функцій. Деякі правила в цій грі рідко використовуються, наприклад, подвоєння ставки, страхування та поділ, але якщо ви захочете включити їх у свою гру, написання коду виявиться дуже складним завданням. Оцінити наявність таких правил зможуть лише обрані, тому вони опущені, щоб не перевантажувати книгу зайвою інформацією.
На рис. показаний кадр ролика. Ви бачите, що гравець взяв п'ять карток, які дали 18 очок. А карти, що роздають, взяв три карти, їх сума становить 21.
У цій простій грі гравцю і роздає дається по дві карти. Перша карта роздає залишається лежати сорочкою вгору доти, доки гравець не закінчить набирати карти. Гравець може брати карти доти, доки у нього не виявиться двадцять одне очко чи більше. Потім комп'ютер "видає" карти роздає, поки не матиме мінімум 17 очок.
Якщо з першими двома картами гравець має 21 очко, він відразу ж виграє і отримує додатково 50% суми виграшу. Якщо у роздає виходить 21, гра відразу ж зупиняється. Якщо ж так не трапилося, то виграє той, у кого на руках більше очок, що не перевищує 21.
Гравець може контролювати свої ставки (від 5 до 25 доларів), щоразу підвищуючи ставку на п'ять доларів.
Пасьянс "Піраміда"
Пасьянс "Піраміда" не такий популярний, як звичайний пасьянс, і не такий складний; однак, йому легко навчитися, і він дуже затягує.
Грати можна будь-якою повністю відкритою картою. Якщо частина карти закрита іншою картою піраміди, грати цією картою можна тільки в тому випадку, якщо карту, що її закриває, видалити. Видалити карту гравець може тільки в тому випадку, якщо знайде відповідну їй іншу карту, щоб сума їх значень дорівнювала б 13. Наприклад, 10 і 3 або 6 і 7 можуть становити пару. Туз має значення 1, валет значення 11, дама 12 та король 13. Це означає, що тільки король може бути обраний сам по собі, без другої карти.
Ціль, природно, в тому, щоб прибрати з піраміди всі карти. 24 карти, що залишилися, колоди помішані під пірамідою, і за один хід можна перевернути одну карту. Будь-яка перевернута карта може бути вибрана разом з картою з піраміди так, щоб скласти у сумі число 13.
Спробуйте пограти у цей пасьянс. Вам доведеться відкласти книгу, оскільки потрібно витратити якийсь час, щоб закінчити гру.
Завдання проекту
Ціль цього проекту – створення повної версії гри в пасьянс "Піраміда". Програма повинна дізнаватися навіть про той рідкісний випадок, коли гравець виграє, видаляючи всі карти з піраміди. Якщо гравець почувається у безвихідному становищі або поточна партія є плідною, він може натиснути кнопку і в будь-який час перездати карти.
Аркади
Космічний бій
Аркади іноді називають іграми на реакцію, оскільки єдині необхідні тут навички – уміння швидко реагувати. Це особливо вірно для першої гри, "Космічний бій".
На рис. показаний фрагмент ролика: гравець як би знаходиться всередині космічного корабля, назустріч якому летять астероїди.
Завдання проекту
У цій грі можна стріляти по астероїдів, що летять, невеликими кулями, Якщо кулі потрапляють по об'єкту, він вибухає, не завдаючи шкоди кораблю. Однак, якщо астероїд не буде збитий, він може зіткнутися з кораблем гравця і пошкодити його.
У грі підраховується число зруйнованих астероїдів і кількість астероїдів, що вдарилися в корабель. Деякі астероїди можуть пролетіти зверху, знизу, праворуч або ліворуч від корабля, не завдаючи жодної шкоди. Гра закінчується тоді, коли станеться 20 зіткнень.
Астероїди
Тепер створимо гру, аналогічну до попередньої, але цього разу кораблем буде невеликий графічний об'єкт у центрі екрану. Астероїди рухається у різних напрямках. Ця гра справляє враження багато класичні аркади 70-х і 80-х років, добре знайомі більшості читачів.
Завдання проекту
У цій грі передбачені рівні та обмежена кількість життів. Корабель може зіткнутися з астероїдом тричі. Якщо гравець підриває всі астероїди, він переходить на наступний рівень, де астероїдів більше і де вони рухаються швидше.
Гравець може повернути корабель праворуч або ліворуч, увімкнути прискорювачі і таким чином перемістити корабель вперед, а також може стріляти астероїдами. Після використання прискорювача корабель продовжує рухатися за інерцією. Якщо гравець поверне корабель і увімкне прискорювачі, його швидкість зміниться через повідомлений йому імпульс. Натиснувши клавішу зі стрілкою "вниз", гравець будь-якої миті може зупинити корабель.
Кулі – це невеликі кліпи, вихідне становище яких збігається зі становищем корабля; кулі рухаються туди, куди спрямовано носа корабля в момент пострілу. Кількість куль у грі не обмежена, але гравець може вистрілити знову тільки після того, як мине час, необхідний для перезаряджання.
Спочатку розмір астероїда становить 100%, швидкість та напрямок руху довільні. Коли по ньому вперше потрапляє куля, він розпадається на два астероїди, розмір кожного з яких – 50%, напрямок їх руху також довільний. Ці астероїди, у свою чергу, можуть розпастись на два дрібніші, розмір яких становитиме 25% від вихідного астероїду. Якщо після цього астероїд потрапляє куля, він вибухає. Коли всі астероїди буде зруйновано, гравець зможе перейти на наступний рівень. Однак, якщо астероїд зіткнеться з кораблем, зменшиться кількість життів.
Погоня у лабіринті
Наступна гра – "Погоня у лабіринті" – класична аркадна гра. Найвідоміше втілення цієї гри – Рас-Man.
У грі, фрагмент якої зображено на рис., лисиця бігає в лабіринті, намагаючись з'їсти всі ягоди. Там же бігає злий кролик. Лисиця повинна не зіткнутися з кроликом, доки не збере всі ягоди.
Завдання проекту
Гра, наведена як приклад, має найважливіші відмінні риси гри-переслідування в лабіринті. Ягоди зникають із екрана, якщо лисиця проходить через місце, де вони знаходяться. Лисиця може переміститися з одного боку екрана на іншу, увійшовши в тунель праворуч або ліворуч. Якщо кролик наздожене лисицю, вона втрачає одне життя.
Місяцехід
Ще одна класична гра. Гра "Місячник" була, можливо, другою з колись створених комп'ютерних ігор. Її перша версія призначалася для універсальної ЕОМ і була заснована на тексті. Кожну секунду комп'ютер у вигляді тексту видавав, де зараз знаходиться місяцехід і яка його швидкість. У міру зниження місяцехода гравець міг вносити корективи.
Завдання проекту
Ціль – створити стандартну гру, в якій корабель повинен вдало здійснити посадку. Він починає свій рух угорі екрану, гравець керує сильним вертикальним прискорювачем, розташованим під кораблем, а також слабкішими прискорювачами – з боків корабля.
Згодом корабель знижується під впливом гравітації. Гравець не може постійно користуватися прискорювачами, оскільки корабль має обмежений запас пального.
Завдання гравця полягає в тому, щоб корабель у повній безпеці здійснив посадку на один із відведених для цього майданчиків. Якщо він сяде не на майданчик або якось інакше торкнеться поверхні місяця, то станеться вибух. У цій грі кілька рівнів. У ролику, який наводиться як приклад, їх три, і в кожному відображається різний рельєф. Спочатку розглянемо кліп "ship". На рис. показаний повноекранний вигляд вікна програми Rash у момент, коли вибрано кліп корабля. У цьому кліпі кілька кадрів з позначками: "normal", "up", "left", "right" та "explode".
Платформний скролер
Після першої хвилі аркадних ігор, яка спала десь на початку 80-х, наступною значною течією була поява ігор типу платформний скроллер. Цей жанр набув широкої популярності після появи серії ігор "Mario Bros" від компанії Nintendo. Наприкінці 80-х платформні скроллер були абсолютним фаворитом серед консольних ігор. Ігри цього продовжують виходити і сьогодні.
Ігровий процес типового скроллера полягає в наступному: герой гри пересувається взад і вперед двомірним світом (вид збоку). Ігровий простір має кілька горизонтальних рівнів - платформ, і гравець може стрибати та перемішатися по них. Мета полягає у збиранні різних предметів, за які нараховуються окуляри, і у тому, щоб уникати (а також знищувати) інших створінь ігрового світу.
На малюнку показаний простенький приклад скроллера з лисицею у головній ролі. Лисиця може пересуватися туди-сюди по горизонталі та стрибати по платформах. При цьому їй необхідно збирати горіхи та уникати кроликів.
Завдання проекту
Платформенний скроллер може бути досить глобальним проектом. Противників (у нашому випадку кроликів) можна атакувати, наприклад, настрибуючи на них, деякі об'єкти можуть давати гравцеві спеціальні можливості, такі як збільшення швидкості або можливість вражати ворога, який невразливий в інших випадках. Ми ж намагатимемося зробити максимально просту гру, зосередивши зусилля на втіленні основних особливостей жанру. Лисиця матиме можливість пересуватися взад-вперед і стрибати. Платформи у вигляді блоків перешкоджатимуть переміщенню гравця по горизонталі, так що йому доведеться застрибувати на них та проробляти частину шляху поверху.
Переміщення гравця в цій грі означає прокручування всього ігрового простору, тоді як гравець насправді весь час знаходиться в центрі екрана. Відчуття руху лисиці виникає за рахунок того, що у грі рухається все, крім самої лисиці.
Кожен горіх додає гравцеві 100 очок. Лисиця повинна збирати горіхи та уникати кроликів.
Дизайн ігрового простору легко ускладнити. Коли ми закінчимо розбирати процес створення цього ролика, ви можете зробити власний варіант рівня гри.