|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.06.2009, 13:35 | #1 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Самоудаляющиеся элементы массива.
У меня есть класс BULLET(т.е. пуля), как мне организовать массив и класс, чтобы при определенном условии элемент массива самоудалялься?
Набросайте примерчик, пожалуйста.... Ничего в голову подходящего не лезет... |
19.06.2009, 14:35 | #2 |
Тупой студент
Форумчанин
Регистрация: 12.05.2007
Сообщений: 614
|
реши для себя, что значит "удаление из массива". реальное удаление, со сдвигом всех элементов (возможно, через новый массив), либо флаг, что элемент недействителен. первое будет довольно дорогой операцией, при частом вызове и большом массиве
|
19.06.2009, 14:39 | #3 |
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
19.06.2009, 15:14 | #4 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
1)Скорее реальное удаление.
2)Массив должен быть не в классе т.е. массив объектов BULLET. Списки, а как их организовать? //Конечная цель- оружие для бота, т.е. он "выстрелил"- создал новый экземпляр BULLET в массиве. /////////// Наверное я что-то неправильно понимаю |
19.06.2009, 15:16 | #5 |
Пользователь
Регистрация: 18.03.2009
Сообщений: 89
|
Levsha100,
Вопрос в том, какая стоит вообще задача. Если имеется в виду что-то типа игры, где летит пуля и при попадании в кого-то/что-то она исчезает и что-то делает, то я бы сделал не так. Тогда, по-моему, лучше сделать некий сторонний класс, который собственно и будет управлять всеми этими объектами и при попадании их удалять. Обычно, когда мелкие объекты становятся в программе слишком "умными" и делают сами кучу действий, ими становится неудобно управлять. |
19.06.2009, 15:29 | #6 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
То есть не имеет смысла писать класс, можно обойтись записью, и все проверки/операции делать не в классе, а в основной программе.
|
19.06.2009, 15:42 | #7 |
Пользователь
Регистрация: 18.03.2009
Сообщений: 89
|
Ну лично мое мнение такое.
Допустим, есть некоторая игра с игроками, монстрами, предметами, летящими снарядами и т.п. Все это вместе образует некоторое состояние игры. И по-любому все это должно где-то хранится. По-моему, лучше сделать некий отдельный класс "Состояние Игры", который всем этим и будет заниматься. То есть хранить все массивы, обрабатывать передвижения и пересечения объектов. А если вносить логику в сами игровые объекты, начнется путаница - а кто о ком что должен знать? Где должно отслеживаться попадание пули в игрока - в классе игрока или в классе пули? Так это хотя бы в одном месте будет. А классы объектов будут предоставлять методы для изменения самих объектов, но не для взаимодействия с другими объектами. Впрочем, это чисто ИМХО. Кто-то может со мной не согласиться. |
19.06.2009, 15:43 | #8 | ||
В тени
Старожил
Регистрация: 19.12.2008
Сообщений: 5,788
|
Цитата:
Цитата:
Код:
Spis - структура, которая хранит пулю (указатель на нее) и данные о связях с другими элементами списка (соседними). По этому списку нужно пройтись, например, как-нибудь так: Код:
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем. ___________________________________ ___________________________________ _______ [=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль] |
||
19.06.2009, 15:48 | #9 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Всем громадное СПАСИБО! Буду пробовать.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Элементы массива | Ximer | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 26.04.2009 00:53 |
Удалить элементы массива | Маськ@ | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 21.12.2008 17:46 |
Элементы массива в листбокс | KiDoki | Общие вопросы Delphi | 4 | 07.10.2008 18:05 |
Повторяющиеся элементы массива | Stanislav | Общие вопросы Delphi | 10 | 23.05.2008 12:31 |
переписать из массива в линейный двунаправленный список чётные элементы массива | Black_Ak24 | Помощь студентам | 12 | 08.01.2008 00:44 |