Сообщение от MiXaeL
Мока, вот ты сам и объяснил, почему ты не прав.
|
Где можно быть не правим в том что я написал выше? ЛоЛ
Сообщение от MiXaeL
Провисает не цикл, а логика, которая, как я понял, вся завернута в условие.
|
И провисает не цикл, а логика в цикле.
|
Сообщение от MiXaeL
Т.е. разницы особой не будет, обходить все поле (оно явно не 10^5 на 10^5) или только монстров. Идеологически правильно, спору нет, но автора не спасет.
Судя по всему язык Basic'оподобный, я в них не разбираюсь особо, но должно же там быть что-то типа std::vector или списков из Blitz'a. Лучше их применять, ну и действительно копнуть в логику. Если там самая медленная часть завязана на обработку взаимодействия с игроком, вынести ее в отдельный цикл и обрабатывать только ближайших монстров.
|
Я так понимаю ты хотел сказать, что нужно иметь сразу список монстров которые нужно обработать, а не список который проверяется monster(i) и затем применяется логика.
Короче говоря, автор выложил недостаточно инфы.
Могу предположить что он тяжко просчитывает если монстр в экране или т.п. Но делает это с каким-то извращением, что эта проверка и садит всё.
Если делать как полагается, то нужно разбивать пространство на сектора, и хранить списки монстров в секторах. И затем пробегаться только по секторам которые в камере и их спискам монстров.
Забудь о блице..