Розробка гри “Відбивання кульки”
Програма має бути реалізована графічно. Вибір відповідних пунктів меню здійснюється за допомогою клавіш курсора та клавіші ENTER. Програма має витримувати усі тести користувача. На кожній сторінці повинна бути доповнена коментарями.Програмний комплекс повинен містити стандартні модулі, а також модулі користувача (за наявності), процедури і функції користувача.
Програма повинна відтворювати гру “Відбивання кульки”.
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. Початок загального алгоритму вирішення задачі
Початок;