Введення
Ні для кого не секрет, що відео гри міцно зайняли свою позицію в сучасній індустрії розваг. Існують спроби виділити комп'ютерні ігри як окрему область мистецтва, поряд з театром, кіно і т.п. Розробка ігор може виявитися не тільки захоплюючим, але й прибутковим справою, прикладів цьому предостатньо в історії. Перші примітивні комп'ютерні і відео гри були розроблені в 1950-х і 1960-х роках. Вони працювали на таких платформах, як осцилографи, університетські мейнфрейми і комп'ютери EDSAC. Найпершою комп'ютерною грою став симулятор ракети, створений в 1942 році Томасом Голдсмітом Молодшим (англ. Thomas T. Goldsmith Jr.) І Істлі Рей менном (англ. Estle Ray Mann). Пізніше, в 1952 році, з'явилася програма "OXO", що імітує гру "Хрестики-нулики", створена А.С. Дугласом як частина його докторської дисертації в Кембріджському Університеті. Гра працювала на великому університетському комп'ютері, відомому як EDSAC (Electronic Delay Storage Automatic Calculator). В даний час, розробка гри - це багатомільйонний процес, в якому задіяна ціла команда розробників, складні сучасні технології і навіть маркетингові ходи.
Метою ж моєї курсової роботи буде розробка розвиваючої спритність ігри - "Змійка".
комп'ютерна гра pascal програма
1. Постановка завдання
У цій роботі я ставлю перед собою наступні завдання:
1. У програмі має бути присутньою меню, в якому можна переглядати дані про розробника та грі, рекорди і безпосередньо перехід до самої гри.
2. Повинно бути кілька рівнів складності (чим більше складність, тим більше швидкість змійки та її первісна довжина).
3. Змійка повинна збирати їжу (символи на екрані, які з'являються випадково); при цьому змійка повинна "розбиватися" при зіткненні з кордоном ігрового поля і зі своїм "хвостом".
4. Повинна бути присутня можливість збереження результату в типізований файл. І вивід результатів на екран при подальшому запуску програми.
2. Вибір методу реалізації завдання
Для реалізації гри буде використаний мова програмування Pascal. Дана мова є найбільш поширеним мовою програмування серед студентів. Основне призначення цієї мови - навчання програмуванню. Це було закладено в мові Паскаль творцем Ніклаус Віртом. Також завдяки американській корпорації Borland, вклала в мову Паскаль нові ідеї і принципи, мова стала потужним засобом для створення програм, які можуть вирішити широке коло проблем: від простих обчислювальних завдань до складних дослідних, використовують величезні обсяги даних.
У багатьох випадках стандартних можливостей вводу-виводу даних за допомогою процедури Read, Readln, Write, Writeln виявляється явно недостатньо для розробки діалогових програм. Тому при написанні своєї програми я буду використовувати модуль CRT. За допомогою цієї бібліотеки можна визначити факт натискання якої-небудь спец. клавіші.
3. Складання загального алгоритму
Після того, як програма буде запущена, на екрані з'явиться головне меню. З головного меню можна перейти до меню "Довідка", переглянути таблицю рекордів і, за допомогою вкладки "Грати", перейти безпосередньо до вибору рівня складності (їх всього 3: "глист" - найлегший, "змія" і найскладніший - "анаконда") і до самої гри. У меню "Довідка" можна подивитися дані про розробника, а також правила гри.
Рис.3.1 - Загальний алгоритм програми
Після вибору рівня складності ми переходимо до ігрового поля. Управління змійкою здійснюється за допомогою клавіш управління курсором. Після того як гра закінчилася, на екран виводиться повідомлення про це і, якщо гравець набрав результат вище ніж 10 місце у списку рейтингу, пропонується ввести своє ім'я для збереження результату. Далі здійснюється перехід в головне меню. Це продовжується до тих пір, поки не буде натиснута кнопка "Вихід".
4. Виділення функціональних частин
Програма буде складатися з наступних функціональних частин:
В· Підпрограма, яка малює кнопки всіх меню.
В· Підпрограма, яка забезпечує виведення та роботу меню 2-го рівня.
В· Підпрограма, що відповідає за зміну положення змійки.
В· Підпрограма, яка забезпечує роботу з меню "Довідка"
В· Підпрограма, що відповідає за зіткнення змійки.
В· Підпрограма, яка відповідає за збереження результатів.
5. Обгрунтування алгоритмів окремих функціональних частин
В· Підпрограма Ramka
Мета цієї підпрограми полягає в тому, щоб малювати кнопки меню, здійснюється це наступним чином: При виклику процедури треба вказувати її фактичні параметри, саме вони вказують підпрограмі, в якому місці стоїть намалювати кнопку меню і яким кольором потрібно малювати. Само малювання організовується за допомогою рахункового циклу (For.: =. to. do) і процедури GotoXY (X, y), яка переводить курсор в місце на екрані з координатами x і y.
В· Процедура Menu2
Мета цієї підпрограми полягає в тому, щоб намалювати і організувати роботу меню 2-го рівня. Спочатку малюються рамка потім, за допомогою процедури Ramka, малюються вкладки, а потім в цих вкладках вписуються назви кнопок. Робота з меню організується за допомогою циклу з постпроверкой умови (repeat ... until), умовного оператора if. then. else і
функції Readkey. Працює це за наступним принципом: функція readkey вказує яка клавіша була натиснута, далі за допомогою умовного оператора
визначається яку з вкладок меню перемалювати іншим кольором, якщо була натиснута клавіша курсора "вниз", то нижній пункт меню перемалюють іншим кольором, а той що був раніше - стане невиділений.
В· Процедура Izm
Ця процедура переформовувати масив, в якому містяться координати "частин" змійки, це здійснюється наступним чином: першому елементу масиву привласнюються нові координати, а всім іншим - Координати попереднього елемента (x [3] одержить значення x [2], а x [2] - x [1]).
В· Процедура Spravka
Ця процедура забезпечує роботу з меню "Довідка". В основі цієї процедури лежить зчитування і висновок на екран типизированного файлу.
В· Процедура Stolknovenie
Через цю процедуру програма перевіряє, не зіткнулася Чи змійка з кордоном поля або сама з собою. Це здійснюється при допомоги умовного оператора if. then. else, який звіряє координати голови змійки з координатами меж ігрового поля і "хвоста змійки".
В· Процедура Resultat
Ця процедура зчитує з файлів дані про рекорди, складає з них масив, елементами якого є записи з 2 полями (Ім'я та Результат), якщо був набраний результат вище 10 місця в списку рейтингу, присвоює 10 елементу масиву дані містять ім'я гравця і набраний результат. Далі сортує цей масив методом прямого обміну і записує відсортований масив у файл.
6. Розробка тестових прикладів
На основі розроблених вирішуваних завдань можна виділити тестові приклади необхідні для перевірки працездатності гри. Якщо по проходженні всіх пунктів тестування будуть отримані задовільні результати, значить можна буде заявити про те, що програма працює вірно.
1. Після запуску гри на екрані повинне з'явитися головне меню з вкладками "Грати", "Рекорди", "Довідка", "Вихід".
2. Вибравши меню "Рекорди", на екрані повинен з'явитися таблиця результатів такого формату: <займане місце>: <набраний результат> <Ім'я гравця>
3. Вибравши меню "Довідка", на екрані з'явиться меню довідки з вкладками
"Правила гри", "Розробник" і "Назад". вибираючи кожну вкладку, на екрані повинна буде з'явитися відповідна інформація.
4. Вибравши меню "Грати", на екрані з'явиться меню вибору рівня складності з 3 варіантами складності "глистів", "Змія", "Анаконда". Після вибору рівня складності з'явиться ігрове поле і почнеться гра. Праворуч від ігрового п...