ак, в своєму проекті я разработали следующие класи:
Клас «Камінь», в цьом класі опісані всі Фізичні закони Які потрібні для того щоб снаряд Летів по балістічній Траєкторії, вказується кисть Якою малюється наш снаряд, колір, всі статічні данні Такі як маса та діаметр снаряду, Початкові координати.
Клас «Баліста», в цьом класі опісуються Такі данні например як ті что наші координати Використовують в метрах а не в пікселях.
Основу побудова та дослідження моделей системи створює Обєктно - орієнтований ПІДХІД. Суть цього підходу заключається в розгляді тяжкої системи як сукупності обєктів, что взаємодіють между собою, На Відміну Від структурного підходу, что предлагает розгляданих ОКРЕМЕ Дій, что робиться дослідніцькою системою. Важлива перевага Обєктно-орієнтованого підходу Є можливість зрозумілого и простого представлення обєктів реального світу. Тому нужно відмітіті, что краще в нашому випадка використовуват Обєктно-орієнтований ПІДХІД.
А тепер ми розглянемо конкретні ситуации, та побачимо як наша модель буде обробляті створені ситуации.
Мі стріляємо з баліті бажаючих щоб снаряд перелтів через стіну, но через неправельні розрахунки при заданні кута ми влучаеємо в стіну. У такому випадка наша програма перевіряє чи влучілі ми в стіну помощью даної Функції: Math.Abs ??(bal1.x * km - pictureBox3.Left) lt; 20) amp; amp; (Math.Abs ??(bal1.y * km - pictureBox3.Top) lt; 100, вон переріряє чі Зайшов снаряд в координати стіні и если це відбулося стіна руйнується, а если ж снаряду не влучає в стіну то ВІН просто летить далі.
Мі стріляємо з баліті и влучаємо в іншу «ворожу» балісту тоді наша програма знову ж вікорістовує таку ж функцію только з іншімі завданні перевірочнімі координатами и если снаряд влучає в ціль то вона руйнується а если ж снаряду не влучає в ціль то ВІН просто летить далі.
Схема поведінкі про єктів класу «Камінь»:
Снаряд летить по балістічній Траєкторії та при зіткненні з стіною або ворожив балістою помощью Функції перевіряє чи влучів ВІН в потрібне місце.
Схема поведінкі про єктів класу «Баліста»:
Катапульта весь годину стоит нерухомости та при влучанні в неї снаряду вона зміною свою картинку.
Структури даних та діаграмі класів для розв'язання задачі
З вищє сказаного будуємо діаграму класів
Клас «Catapulta»:
Поля:, y-координати по осях х, у;, p1 -картінкі Які Використовують для зображення баліст; - кут нахилится в радіанах;
f - сила;
Класі «Ball01/Ball02»:
Поля: - маса каменя; r - радіус каменя; vx, vy - вектор швідкості по осях x, y; x, y - координати по осях x, y;
Методи: - функція яка рухає камінь; - функція яка запам ятовує вону позицию каменю відносно осей x, y - функція яка відповідає за зображення каменю на форме;
Схеми взаємодії про єктів та алгоритми виконан їх методів
Діаграма прецедентів:
Схеми взаємодії про єктів та алгоритми виконан їх методів
Макроалгорітм
У даній блок схемі коротко описано роботу всієї програми. Коженая блок містіть групу команд Які описано у основного коді програми.
Завдання кута нахилится балісті - це блок в якому ми задаємо кут нахилится баліті помощью повзунків Які розташовані на форме.
Запуск снаряду - це блок в якому ми запускаємо снаряд помощью кнопки розташованій на форме.
Політ снаряду - це блок в якому здійснюється політ снаряду з початкових з координат до цілі.
Вчення -це блок в якому перевіряється чи влучілі ми в ціль, если так то ціль руйнується, а если ні то ми повертаємось на качан.
Руйнування - це блок в якому ми бачим зміну картинки при влучанні в ціль.
Схема моделювання імітації польоти снаряду:
Запуск снаряду - це блок в якому ми запускаємо снаряд помощью кнопки розташованій на форме.
х ++; у ++ - це блок в якому змінюються координати снаряду.
Вчення -це блок в якому перевіряється чи влучілі ми в ціль, если так то ціль руйнується, а если ні то ми повертаємось на качан.
Зупинка снаряду - це блок в якому ми бачим як снаряд зникає при влученні в ці...