Курсовая работа: Гра Змійка опис програми
Але в іграх, що вже існують і подібні до даної, використовуються побудови в графічному режимі, хоч і максимально прості. Проте поряд з простотою в них застосовуються анімації для зображення руху, наприклад у грі в танки, ці танки рухаються по екрану, імітуючи рух справжнього танку.
У грі для створення інтерфейсу користувача - виводу вікна гри, ігрових меню та кнопок, можна використати стандартні засоби мови JAVA - компоненти бібліотек AWT (застаріла) чи Swing (більш нова, що є частиною API – Java Foundation Classes), і тому її використання цієї бібліотеки дає більше можливостей для графічного оформлення гри – побудова найпростіших геометричних фігур, розфарбовування областей екрану та інше.
1.3.Постановка задачі
Розробити проект гри, з допомогою який можна програмно реалізувати, провівши кодування на об’єктно-орієнтованій мові програмування, скласти специфікацію.
2. Проект програми
2.1. Ієрархія об’єктів
На основі того, що необхідно розробити гру змійка, можна виділити головний об’єкт ієрархії – «Гра Змійка». Вона складається з «ігрового поля» та «меню».
Об’єкти-пункти меню: «Гра» з вкладеними підпунктами «нова гра» - розпочинає нову гру, «пауза» - тимчасово припиняє гру, «зупинити гру» - зупиняє поточну гру, «вихід» - дозволяє вийти з програми. Підменю «швидкість гри» з меню «Настроювання» дозволяє змінити швидкість руху змійки.
Об’єкт «ігрове поле» складається з об’єктів «ціль», «змійка», «перепона», «межі», «поле інформації» та «повідомлення». «Ціль» це клітка на ігровому полі, у яку має влучити змійка. «Змійка» складається з «частин» і згідно описаних вище правил рухається по ігровому полі. «Перепони» - це клітки на ігровому полі, які змійка має оминати. «Межі» ігрового поля встановлюють границі, за які змійка не може вийти. Влучання змійки в перепони чи вихід за ігрове поле зменшують її кількість гравців.
«Поле інформації» інформуватиме гравця про стан гри: «Повідомлення» - якій будуть видаватися різноманітні текстові повідомлення про події в грі та вказівки гравцю (наприклад, повідомлення про те, що гру закінчено, про перехід в наступний тур або виграш у грі). «Індикатор життів» - об’єкт, який показуватиме про кількість життів змійки. «Індикатор рівня» буде показувати номер рівня, на якому знаходиться гра. «Індикатор довжини» відображатиме довжину змійки, щоб гравець орієнтувався, скільки цілей поцілено – згідно вказаних правил для переходу на наступний рівень, потрібно поцілити в певну кількість цілей.
Рисунок 1 – ієрархія об’єктів гри Змійка
2.2. Ієрархія наслідування
Рисунок 2 – Ієрархія класів
2.3. Діаграма станів гри
Рисунок 3 - Діаграма станів гри
2.4. Специфікація
Клас public class Game – головний клас проекту необхідний для запуску гри
Метод public static void main(String[] args) – з нього починається виконання програми
Клас public class GameFrame реалізує вікно для відображення ігрового поля та даних гри
Метод public GameFrame() – конструктор вікна гри в якому встановлюються його параметри.
Метод public void newGame() - метод запускає новий сеанс гри
Метод public void pauseGame() - метод створює паузу
Метод public void stopGame() - метод зупиняє гру
Клас p ublic class GameField – ігрове поле
Змінні:
Snake snake - змійк
GameFrame frame – змінна для доступу до вікна гри
InformPanel informPanel – інформаційна панель
protected boolean isGameRun = істина, якщо йде гра
protected boolean isGamePause – істина під час паузи
int gameSpeed – швидкість гри
protected int colObstacles - Кількість перепон
protected int delay - Затримка при русі змійки
final int w = 35, h = 25 – розміри ігрового поля
protected GameSquare square[][] – ігрові клітки
boolean keyBlocked – істина, коли заблокована клавіатура
Методи
public GameField(GameFrame owner) - конструктор
public void setDefault() – встановлення в початковий стан
public void clearSquares()- відмічення всіх кліток вільними
protected void createSnake() – створення змійки
protected void createBorders() – Створює межі поля
protected void createObstacles(int col) – створює col перепон на ігровому полі
protected void createTarget() - створення мішені для змійки
public void paintComponent(Graphics g) – малювання компонентів поля