Курсовая работа: Розробка гри Відбивання кульки

Пункти меню:

– “Нова гра” – запуск гри. Після натискання даної клавіші у робочому вікні з’являється одне за одним меню для вибору кількості ігор (партій) (3, 5, 10) та швидкості руху кульки (3 швидкості), а за ними і ігрове поле. Ігрове поле розділено на дві частини. Зліва та справа присутні лопатки гравців у вигляді прямокутників для відбивання кульки. Знизу ведеться рахунок вдалих ударів для кожного гравця;

– „Допомога” – виводить список клавіш, які використовуються у грі;

– „Про автора” – виводить інформацію про розробника даної програми;

– „Вихід” – дозволяє вийти з програми після її завершення.

1.2. Вимоги до програмної реалізації

Програма повинна відповідати вимогам користувача.

Гра програмується на мові С++. Програміст може використовувати стандартні функції даної мови програмування, а також створювати свої власні, підключати заголовочні файли даного компілятора.

Програма має бути реалізована графічно. Вибір відповідних пунктів меню здійснюється за допомогою клавіш курсора та клавіші ENTER. Програма має витримувати усі тести користувача. На кожній сторінці повинна бути доповнена коментарями.

Програмний комплекс повинен містити стандартні модулі, а також модулі користувача (за наявності), процедури і функції користувача.

Програма повинна відтворювати гру “Відбивання кульки”.

1.3 Функціональні можливості програми

В програмі міститься меню, до пунктів якого можна звертатися у довільному порядку. Вибір конкретного пункту здійснюється за допомогою клавіш курсору та клавіші ENTER. Є можливість вибору кількості партій та швидкості руху кульки для ускладнення гри. За вдалі удари очки нараховуються гравцю, за промахи – супернику. Після того, як сума очок досягає обраної кількості партій, визначається переможець.

1.4 Можливі варіанти зміни та вдосконалення програми

Для зміни реалізації основної задачі можна внести зміни у функції new_game(), speed(), num(). Наприклад, для зміни інтервалу можливих швидкостей можна змінити параметр функції delay(), що використовується в new_game() для затримки руху кульки, а також розширити можливі варіанти вибору швидкостей у меню з функції speed(). У функції num() можливо збільшити кількість партій. Можна також змінити в new_game() діаметр кульки, розміри лопаток, швидкість їх руху тощо.

aftvin

1.5 Варіантний аналіз і вибір методу вирішення основної задачі

При розробці даної курсової роботи, основною задачею було зобразити рух об’єкта (кульки), що рухається по полю, відбиваючись від стінок та лопаток гравців, а також здійснення управління самими лопатками доверху та вниз.

Для цього були розроблені клас point (клас точки на екрані) та клас spot(для роботи з плямою на екрані), що наслідує компоненти класу point: функції voidshow() – функція зображення плями на екрані, voidhide() – функція прибирання плями з екрану, та функція voidmove(intxn, intyn) – переміщення зображення.

voidshow() – функція, що малює коло, заповнюєїї кольором та запам’ятовує його бітовий образ в пам’яті;

voidhide() – стирає зображення з екрану;

voidmove(intxn, intyn) – містить в собі функції hide() та show(). Після стирання зображення змінює координати центру плями та виводитьїї у новому місці з центром у точці (xn, yn).

Аналогічно до процедур роботи з плямою були створені процедури для роботи з прямокутниками (лопатками): void showr() – малювання прямокутника;void hider() – процедура стирання прямокутника;

voidmover(int xn, int yn) – переміщення прямокутника, де xn, yn – координати його верхнього лівого кута в новій позиції.

Функція new_game() об’єднує роботу всіх вище переглянутих функцій. Основною задачею цієї функції є узгодження роботи всіх інших функцій і перехоплення і оброблення нажатих користувачем клавіш.

2. Розробка структури програмної системи

2.1. Початок загального алгоритму вирішення задачі

1. Початок;

2. Ініціалізація і об’явлення змінних;

3. Ініціалізація графіки;

4. Виведення на екран головного меню гри;

5. Перевіряємо, яка кнопка натиснута:

Якщо натискаємо кнопку “Нова гра”, викликається функція new_game(), а в ній викликаються одна за одною функції num() (повертає значення кількості ігор), speed() (повертає значення швидкості), після завершення двох останніх функцій починається сама гра;

При натисканні кнопки “Допомога” викликається функція help() з підказкою про використання клавіш у грі;

Якщо натиснута кнопка “Про автора”, то запускається функція about(), яка виводить прізвище, імя розробника програми та деяку інформацію про нього;

К-во Просмотров: 630
Бесплатно скачать Курсовая работа: Розробка гри Відбивання кульки