Бегущий по лезвию тяпки

21:35 

bug в конце туннеля

Antib
Ya! Ya! In his house at New Orlean, undead Lestat waits dreaming.
Занятное ощущение, когда возвращаешься к коду, который не видел почти полгода и сходу находишь где он глючит ( код который я ковыряю это генерёж уровня рогалика). Вспомнились команды дебаггера и я хотя бы допёр в каком методе появляется та ошибка, которую в конце концов отлавливает assert. Теперь надо понять как она возникает. Она состоит в том, что коридоры от комнаты отчего-то не всегда возникают в тех направлениях, в которых должны. Не в смысле сворачивают круто, а в смысле длина списка направлений редко не равна списку коридоров на применение.

Отсюда у меня снова возникает философский вопрос: Проверить уровень на предмет замкнутости и достижимости всех комнат от точки входа я могу перебором координат и алгоритмом А*. Но когда я хочу посмотреть на плоды трудов, скажем с помощью curses, я начинаю ковырять две проблемы вместо одной - т.к. в коде с curses тоже не всё и сразу курсит как надо. Вероятно стоит не распыляться на curses (или освоение qt как замены curses), пока я не поймаю логические баги в генерёжке.

upd Как может из словаря исчезать уже внесённое туда значение? В цикле только одна запись в словарь по ключам, которые гарантированно уникальны. Чего-то я про словари не знаю про словари.

upd2
Это занятное ощущение, когда баг на самом деле фича. Комнаты "отращивают" ходы друг в друга и может получиться так, что ход из другой комнаты достигнет ещё не "проросшей" именно в той точке, где должен сгенериться выход из неё. Когда из той комнаты таки собираются копать тоннель, то получается, что он уже сделан - задание ещё есть, а копать уже негде.

@темы: Размышлизмы

URL
Комментирование для вас недоступно.
Для того, чтобы получить возможность комментировать, авторизуйтесь:
 
РегистрацияЗабыли пароль?
главная