| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Алгоритм:объект на карте, может быть съеден, но |
| Автор: 604 10.9.2006, 22:51 |
| Приветствую! Никак не могу придумать алгоритм для такого игрового события. На карте находятся объекты(количество произвольное, в зависимости от игровой карты), который может быть сьеден игроком. Но через некоторое время он снова должен появится в том же месте. Пока что пришол в голову только вариант со списком обьектов... при сьедании объекта в списке создается новый объект... далее в цикле игры весь список обходится.. проверяется время смерти каждого объекта попавшего в список и если время вышло, ставим его обратно на карту. Есть ли смысл убирать объекты из списка, или лучше будет добавить к объекту дополнительный флаг(жив\мертв)? Не является ли мой алгоритм слишком расточительным? можно ли реализовать эту задачку более оптимально? |
| Автор: 02077461 11.9.2006, 10:04 |
| Если уж ты уже пошел путем создания экземпляра класса для каждого объекта, то лучше делать флаг, который сам объект будет себе обновлять по прошествии времени. Если тот же объект появляется на том же месте, то зачем создавать еще один экземпляр?. Насчет оптимальности ничего сказать не могу, к сожалению. |
| Автор: 604 11.9.2006, 12:55 |
| Похоже не совсем корректно выразил свою идею. При создании карты, объекты которые будут обладать вышеописанным поведением будут загонятся в список(объекты создаются 1 раз при загрузке карты и помещаются в список). У объектов будет поле времяСмерти. В цикле игры, будет обходится весь список и проверятся поле времяСмерти, если время воскрешения вышло то обьект снова становится видимым на карте. Что то меня смущает этот подход, но ничего другого придумать не могу :-( |
| Автор: redrick 11.9.2006, 23:27 |
| насчет алгоритма выссказываться не буду, но вот насчет оптимальности - собственно то что сказал 02077461, - пересоздавать объекты не надо |