import eb_engine #import os #os.environ['PYTHONJIT'] = '1' def main(): e = eb_engine.Engine() e.main_loop() if __name__ == "__main__": main() # todo: # прокрутка баг консоль и карта # ОПТИМИЗАЦИИ # перепроверять путь пореже, или только после столкновения, или локальный поиск # очередь задач и задача рандомного патруля # устроить краш тест поиску пути, запустив много объектов на маленьком поле, успел заметить баги # добавить функцию движения за каким-то объектом # сделать, чтобы в случае отменненого движения не телепортировался назад, а плавно # приступаем к логике # сделать по аналогии с текущей клеткой текущий объект # посмотреть как в clock = pygame.time.Clock() работает фпс # перемещать оъект в другую клетку при половине офсета # техдолг Егору # убрать cells и mapobject creature - перенести нужную логику в методы Map # система имен спрайтов и Action - реализовать # рисовать группой спрайтов как в перпл # нужен ли теперь start_pos? grid_pos? # class Task с проверками выполнения экшонов #вернуть назад апдейт. вернул - работает, сравнить с новым и решить #final_goal = None - check all! #рефактор goal = (random.randint(self.grid_pos[0] - area, # self.grid_pos[0] + area), # random.randint(self.grid_pos[1] - area, # self.grid_pos[1] + area)) # отловить баг - иногда всё равно встают - похоже из-за реплана и коллизий с эльфами # вроде починил, добавив final_goal = None в реплан, проверить # совет ксюши - не считать коллизии с объектами, только при перемещении в клетку проверять