![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
Нард помогите с проблемой, нужно реализовать класс "зоопарка", т.е объекты будут двигаться по полю и при столкновении со стенкой или с другим объектом менять направление. Нужна ОО модель, т.е. за животных должен отвечать 1 класс. Поиск не принёс результатов.
Это сообщение отредактировал(а) KoLiZeI - 18.12.2008, 11:50 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
KoLiZeI, какое у объекта должно быть представление?
-------------------- СУВ, Partizan. |
|||
|
||||
| KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
Partizan По идее объект на форме должен быть рисунком, но рисунок будет 1 и прямоугольный. Он двигается по полю и если встречает стенку или себе подобный объект движется в другую сторону. Или ты не об этом? Если проще использовать круг для определения радиуса столкновения пусть будет круг не принципиально.
Это сообщение отредактировал(а) KoLiZeI - 18.12.2008, 11:56 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
KoLiZeI, ну а в чём пробелема? ) По таймеру передвигать рисунок в нужном направлении =) При столкновении - менять направление на противоположное =) Это ж не сложно)
з.ы. с прямоугольными объектами всяко легче будет =) -------------------- СУВ, Partizan. |
|||
|
||||
| KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
ээээ.... ))
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
KoLiZeI, ну...
1) допустим на форме рисунок.... 2) допустим он лежит внутри прямоугольного контрола PictureBox...начальные координаты - 0,0(левый верхний угол) 3) задаёмся текущим направлением...допустим это будет право-низ В итоге по таймеру в замисимости от направления - меняем координаты если текущее направление - право-низ, то PictureBox.Top += 1; PictureBox.Left += 1; 4) если дошли до нижней границы формы, то есть (PictureBox.Top + PictureBox.Height >= (Form.Height - Высота заголовка)), то меняем текущеенаправление на право-верх...в итоге на каждой итерации PictureBox.Top -= 1; PictureBox.Left += 1; Добавлено через 11 секунд Идея ясна? -------------------- СУВ, Partizan. |
|||
|
||||
| KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
А столкновение объектов?
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
KoLiZeI,
у тебя есть двумерная плоскость с координатами x и y... как опеределить, что два прямоугольника пересекаются? -------------------- СУВ, Partizan. |
|||
|
||||
| KoLiZeI |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 6.4.2007 Где: г. Саратов Репутация: нет Всего: нет |
Класс "коровы" описал так, правильно?
Это сообщение отредактировал(а) KoLiZeI - 18.12.2008, 12:17 |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 18 Всего: 67 |
KoLiZeI, Если чесно - лень в коде разбираться...
-------------------- СУВ, Partizan. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |