Софтуерно Инженерство
Loading...
+ Нов въпрос
Feel_Up avatar Feel_Up 0 Точки

Автоматизирано движение на обекти!?

Привет!

Имам следната задача и ми изглежда доста трудна( дори непосилна за текущите ми качества)!

Ето заданието:

====================================================================

Да се направи приложение (конзолно или Wiforms)

симулиращо група от обекти които се движат произволно в пространството.

 

Всеки обект има следните характеристики:

1. Име

2. Цвят

3. Текущи координати в работната равнина

4. Стъпка

 

Всеки обект разполага със следните частни методи

1. Избор на посока за движение - изборът се реализира чрез генератор на случайни числа

2а. Преместване със зададена стъпка в случай че няма да се сблъска друг обект или е достигнат края на работната равнина

2б. В случай че ще има сблъсък не се извършва движение и се изчаква следващ ход

 

Всеки обект им следните публични методи

1. Конструктор - задаващ име, цвят, стъпка, текуща позиция

2. методи "Направи следващ ход", с който да се извърши съответното движение което се избере като посока

 

Програмата трябва да покаже движението  (На конзолата като отпечатани координати или визуално графичен режим).

 

Работната равнина е с размер който се задава в кода.

====================================================================

Пример:

Инициализация:

 

Въведете размер на работната равнина: 20, 20

 

Колко обекта искате да имате: 3

Въведете данни за обект 1: …..

Въведете данни за обект 2….

….

 

 

Стартиране движението:

Стъпка 1:

Обект 1 (X, Y)

Обект 2 (X, Y)

Обект 3 (X, Y)

 

Стъпка 2:

Обект 1 (X, Y) – без движение поради сблъсък с обект 2

Обект 2 (X, Y)

Обект 3 (X, Y)

 

Стъпка 3:

Обект 1 (X, Y)

Обект 2 (X, Y) - – без движение поради достигане на граница на работна равнина

Обект 3 (X, Y)


 

Стъпките са дискретни. Т.е. цели числа..

====================================================================

Може ли помощ и някакви идей как да подходя?

Благодаря предварително :)

0
C# OOP Basics
AlucardDracula avatar AlucardDracula 402 Точки
Best Answer

Привет колега, в конзолата мисля че това ще стане лесно, но при WFA малко е сложно тъй като обекта има координати(ако обекта е 4риъгълник би трябвало да има координати на горния ляв/десен, долния ляв/десен ъгъл). При конзолата можеш да запишеш координатите и после да ги сортираш и да прилагаш Distinct(за да се види дали има еднакви координати повече от 1 път) и така да гледаш дали изобщо дали се сблъскват и ако има сблъсък да видиш кои и да ги спреш или да не ги местиш.

А по-конкретно за код може да провериш с Any(x=>obj.x == dadenObekt.x && obj.y == dadenObekt.y)  дали има нещо на тези координати. 

 

0
Feel_Up avatar Feel_Up 0 Точки

Би ли ми дал малко повече информация/код, аз съм се насочил към Web Development, а професора ми ме тормози с ООП ...

0
AlucardDracula avatar AlucardDracula 402 Точки

мисля че се опитваш да направиш нещо такова само че с повече обекти ЛИНК.

0
thereishope avatar thereishope 76 Точки

Пиши ми по скайп, ще ти помогна да го направиш

0
Feel_Up avatar Feel_Up 0 Точки

Писах ти :)

0