TanksProject

Имитация движения танков по местности с препятствиями

Функциональные требования

В качестве "танков" должны выступать текстовые поля (Label) с буквой "T". "Местность" – окно приложения (форма).

Препятствиями для танка являются границы формы, или кнопки (Button), расположенные на форме.

При столкновении с препятствием, направление движения "танка" должно измениться по принципу зеркального отражения вектора движения от препятствия. То же самое должно произойти при столкновении танков друг с другом (каждый из столкнувшихся танков рассматривает другой как неподвижное препятствие). Вес танков при столкновениях считается одинаковым. Столкновения не приводит к изменению скорости движения танка.

Границами танка являются границы соответствующего текстового поля. Танки не вращаются. Размеры танков могут быть разными.

Перед началом работы, пользователь размещает на форме "танки" и "препятствия" в режиме редактирования формы (в редакторе Visual Studio). После компиляции и запуска приложения, должна быть проверена допустимость начального состояния (танки и препятствия не пересекаются, танки не выходят за границу формы). Если начальное состояние допустимо, танки начинают двигаться по форме со случайно выбранными направлениями и одинаковой скоростью (5 пикселов/сек).

Скорость движения танков должна регулироваться "ползунком" и находиться в пределах от 0 до 20 пикселов в секунду. Шаг изменения скорости – 1 пиксел.