1

Тема: Постановка завдань при розробці програми

Мені потрібно написати програму, яка має таке завдання, описане нище. Це моя перша більш менш серйозна програма на C++, підкажіть з чого почати будь ласка.

Повітряна ціль по заданій траєкторії рухається на об’єкт з метою його знищення. Ціль може атакувати  об'єкт на дальність пуску своїх ракет. Ціль знищує об'єкт з деякою ймовірністю (наприклад 0.8).Стаціонарний об'єкт має засоби ППО й здатний відбивати  атаку (уразити ціль). Об'єкт може атакувати ціль у своїй зоні ураження . Об'єкт  знищує ціль з деякою ймовірністю (наприклад 0.9).
Потрібно розробити програму ,що модулює описані дії, якщо ціль рухається з півдня.
Якщо:
(Rпр - радіус пуску пакет, Rзу –радіус зони ураження)

•    Rзу. Об’єкта > дальності пуску ракет цілі.
•    Ціль повинна потрапити в зону ураження об’єкта .
•    Ціль й об ‘єкт стріляють по’разу .
•    V ракети  миттєва.
•    Дальність пуску ракет і зона ураження  не залежить від h.
•    Використання масштабу  відображається  на екрані , наприклад 1піксель= 100метрів.
•    Нульова крапка сітки координат –лівий правий кут.
•    Використання масштабу часу моделювання (1 сек = Sсек. Реальних).
•    Моделювання закінчується , коли наступає одна з подій :знижується ціль, знишується об’єкт, ціль і об’єкт зробили пуск ракет.

Post's attachments

Zavd.png 109.99 kb, 99 downloads since 2012-06-13 

2

Re: Постановка завдань при розробці програми

У вас вже є досвід роботи з графічними білбіотеками? Якщо ні, то думаю потрібно спочатку розібратись як розмістити всі ці речі на екрані в 2d площині, використовучуючи, наприклад, OpenGL бібліотеку. Намалювати сітку, об'єкт, ціль. Потім розробити основні функції, такі як рух цілі по x та y, знищення цілі, знищення об'єкту з урахування часу. Після цього можна приступити до моделювання та математичних розрахунків.

3

Re: Постановка завдань при розробці програми

Зрозуміло, дякую...Підкажуть будь ласка, як правильно продумувати ієрархію класів.

4

Re: Постановка завдань при розробці програми

Зазвичай роблять по одному класу на сутність. Наприклад ціль і об'єкт точно повинні мати окремі класи. З ракетою трохи складніше, бо сама вона не має ніяких характеристик і на екрані не відображається - можна про неї взагалі забути. Зате у нас іще є простір, у якому рухаються ціль і об'єкт, йому напевно також варто організувати окремий клас.

5

Re: Постановка завдань при розробці програми

Providnuk написав:

Зрозуміло, дякую...Підкажуть будь ласка, як правильно продумувати ієрархію класів.

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

Щоб зрозуміти рекурсію потрібно спочатку зрозуміти рекурсію.
int fac(int n) { return n < 2 ? 1 : n*fac(n-1); }
Подякували: Replace1