| Назва: | Розробка гри “Відбивання кульки” |
| Тип: | Реферати |
| Мова: | Українська |
| Розмiр: | 94,12 KB |
| Скачувань: | 27 |
Програмний комплекс повинен містити стандартні модулі, а також модулі користувача (за наявності), процедури і функції користувача.
Програма повинна відтворювати гру “Відбивання кульки”.
1.3 Функціональні можливості програми
В програмі міститься меню, до пунктів якого можна звертатися у довільному порядку. Вибір конкретного пункту здійснюється за допомогою клавіш курсору та клавіші ENTER. Є можливість вибору кількості партій та швидкості руху кульки для ускладнення гри. За вдалі удари очки нараховуються гравцю, за промахи – супернику. Після того, як сума очок досягає обраної кількості партій, визначається переможець.
1.4 Можливі варіанти зміни та вдосконалення програми
Для зміни реалізації основної задачі можна внести зміни у функції new_game(), speed(), num(). Наприклад, для зміни інтервалу можливих швидкостей можна змінити параметр функції delay(), що використовується в new_game() для затримки руху кульки, а також розширити можливі варіанти вибору швидкостей у меню з функції speed(). У функції num() можливо збільшити кількість партій. Можна також змінити в new_game() діаметр кульки, розміри лопаток, швидкість їх руху тощо.
aftvin
1.5 Варіантний аналіз і вибір методу вирішення основної задачі
При розробці даної курсової роботи, основною задачею було зобразити рух об’єкта (кульки), що рухається по полю, відбиваючись від стінок та лопаток гравців, а також здійснення управління самими лопатками доверху та вниз.
Для цього були розроблені клас point (клас точки на екрані) та клас spot (для роботи з плямою на екрані), що наслідує компоненти класу point: функції void show() – функція зображення плями на екрані, void hide() – функція прибирання плями з екрану, та функція void move(int xn, int yn) – переміщення зображення.
void show() – функція, що малює коло, заповнює її кольором та запам’ятовує його бітовий образ в пам’яті;
void hide() – стирає зображення з екрану;
void move(int xn, int yn) – містить в собі функції hide() та show(). Після стирання зображення змінює координати центру плями та виводить її у новому місці з центром у точці (xn, yn).
Аналогічно до процедур роботи з плямою були створені процедури для роботи з прямокутниками (лопатками): void showr() – малювання прямокутника; void hider() – процедура стирання прямокутника;
void mover(int xn, int yn) – переміщення прямокутника, де xn, yn – координати його верхнього лівого кута в новій позиції.
Функція new_game() об’єднує роботу всіх вище переглянутих функцій. Основною задачею цієї функції є узгодження роботи всіх інших функцій і перехоплення і оброблення нажатих користувачем клавіш.
2. Розробка структури програмної системи
2.1. Початок загального алгоритму вирішення задачі
Початок;
Ініціалізація і об’явлення змінних;
Ініціалізація графіки;
Виведення на екран головного меню гри;
Перевіряємо, яка кнопка натиснута:
Якщо натискаємо кнопку “Нова гра”, викликається функція new_game(), а в ній викликаються одна за одною функції num() (повертає значення кількості ігор), speed() (повертає значення швидкості), після завершення двох останніх функцій починається сама гра;
При натисканні кнопки “Допомога” викликається функція help() з підказкою про використання клавіш у грі;
Якщо натиснута кнопка “Про автора”, то запускається функція about(), яка виводить прізвище, імя розробника програми та деяку інформацію про нього;
Якщо ж натиснути кнопку (Вихід), це приведе до виходу з програми.
Кінець.
2.2. Структурні зв’язки між функціями програми
На початку програми робимо доступними бібліотеки з допомогою заголовних файлів: graphics.h; conio.h; stdlib.h; dos.h. Потім описуємо функції і підключаємо графічний режим.
Далі йде виклик функції menu(). Виводиться головне меню гри з чотирма кнопками: 1.Нова гра, 2.Допомога, 3.Про автора, 4.Вихід.
При виборі 1-го пункту запускається функція new_game(), яка виконує головне завдання. В ній викликаються функції num() i speed(), після чого на екран виводиться ігрове поле, малюється в центрі кулька, лінія, що розділяє поле навпіл, два прямокутника по бокам. І після натиснення ENTER кулька починає рухатися по полю, а гравці повинні керувати лопатками та відбивати її.
При натисканні кнопки 2 спрацьовує функція help().
Якщо натиснута кнопка 3, то спрацьовує функція about(), яка при використанні стандартних функцій графічної бібліотеки: setcolor(), outtextxy(), виводить інформацію, тобто прізвище, імя, та номер групи розробника даної програми.
Коли натиснута кнопка 4, командою break переривається цикл перевірки і програма закінчує свою роботу.
3. Програмна реалізація
Директива #include<…> призначена для включення в текст програми тексту файла із каталогу “заголовочних файлів”, що постачаються разом зі стандартними бібліотеками компілятора. На початку програми відбувається
підключення бібліотек graphics.h; conio.h; stdlib.h; dos.h.
graphics.h – використовується для графічної реалізації програми;
Програма повинна відтворювати гру “Відбивання кульки”.
1.3 Функціональні можливості програми
В програмі міститься меню, до пунктів якого можна звертатися у довільному порядку. Вибір конкретного пункту здійснюється за допомогою клавіш курсору та клавіші ENTER. Є можливість вибору кількості партій та швидкості руху кульки для ускладнення гри. За вдалі удари очки нараховуються гравцю, за промахи – супернику. Після того, як сума очок досягає обраної кількості партій, визначається переможець.
1.4 Можливі варіанти зміни та вдосконалення програми
Для зміни реалізації основної задачі можна внести зміни у функції new_game(), speed(), num(). Наприклад, для зміни інтервалу можливих швидкостей можна змінити параметр функції delay(), що використовується в new_game() для затримки руху кульки, а також розширити можливі варіанти вибору швидкостей у меню з функції speed(). У функції num() можливо збільшити кількість партій. Можна також змінити в new_game() діаметр кульки, розміри лопаток, швидкість їх руху тощо.
aftvin
1.5 Варіантний аналіз і вибір методу вирішення основної задачі
При розробці даної курсової роботи, основною задачею було зобразити рух об’єкта (кульки), що рухається по полю, відбиваючись від стінок та лопаток гравців, а також здійснення управління самими лопатками доверху та вниз.
Для цього були розроблені клас point (клас точки на екрані) та клас spot (для роботи з плямою на екрані), що наслідує компоненти класу point: функції void show() – функція зображення плями на екрані, void hide() – функція прибирання плями з екрану, та функція void move(int xn, int yn) – переміщення зображення.
void show() – функція, що малює коло, заповнює її кольором та запам’ятовує його бітовий образ в пам’яті;
void hide() – стирає зображення з екрану;
void move(int xn, int yn) – містить в собі функції hide() та show(). Після стирання зображення змінює координати центру плями та виводить її у новому місці з центром у точці (xn, yn).
Аналогічно до процедур роботи з плямою були створені процедури для роботи з прямокутниками (лопатками): void showr() – малювання прямокутника; void hider() – процедура стирання прямокутника;
void mover(int xn, int yn) – переміщення прямокутника, де xn, yn – координати його верхнього лівого кута в новій позиції.
Функція new_game() об’єднує роботу всіх вище переглянутих функцій. Основною задачею цієї функції є узгодження роботи всіх інших функцій і перехоплення і оброблення нажатих користувачем клавіш.
2. Розробка структури програмної системи
2.1. Початок загального алгоритму вирішення задачі
Початок;
Ініціалізація і об’явлення змінних;
Ініціалізація графіки;
Виведення на екран головного меню гри;
Перевіряємо, яка кнопка натиснута:
Якщо натискаємо кнопку “Нова гра”, викликається функція new_game(), а в ній викликаються одна за одною функції num() (повертає значення кількості ігор), speed() (повертає значення швидкості), після завершення двох останніх функцій починається сама гра;
При натисканні кнопки “Допомога” викликається функція help() з підказкою про використання клавіш у грі;
Якщо натиснута кнопка “Про автора”, то запускається функція about(), яка виводить прізвище, імя розробника програми та деяку інформацію про нього;
Якщо ж натиснути кнопку (Вихід), це приведе до виходу з програми.
Кінець.
2.2. Структурні зв’язки між функціями програми
На початку програми робимо доступними бібліотеки з допомогою заголовних файлів: graphics.h; conio.h; stdlib.h; dos.h. Потім описуємо функції і підключаємо графічний режим.
Далі йде виклик функції menu(). Виводиться головне меню гри з чотирма кнопками: 1.Нова гра, 2.Допомога, 3.Про автора, 4.Вихід.
При виборі 1-го пункту запускається функція new_game(), яка виконує головне завдання. В ній викликаються функції num() i speed(), після чого на екран виводиться ігрове поле, малюється в центрі кулька, лінія, що розділяє поле навпіл, два прямокутника по бокам. І після натиснення ENTER кулька починає рухатися по полю, а гравці повинні керувати лопатками та відбивати її.
При натисканні кнопки 2 спрацьовує функція help().
Якщо натиснута кнопка 3, то спрацьовує функція about(), яка при використанні стандартних функцій графічної бібліотеки: setcolor(), outtextxy(), виводить інформацію, тобто прізвище, імя, та номер групи розробника даної програми.
Коли натиснута кнопка 4, командою break переривається цикл перевірки і програма закінчує свою роботу.
3. Програмна реалізація
Директива #include<…> призначена для включення в текст програми тексту файла із каталогу “заголовочних файлів”, що постачаються разом зі стандартними бібліотеками компілятора. На початку програми відбувається
підключення бібліотек graphics.h; conio.h; stdlib.h; dos.h.
graphics.h – використовується для графічної реалізації програми;