Как стать автором
Обновить

Комментарии 15

Вызов clear перед отрисовкой каждого кадра будет вызывать мерцание в терминале. Лучше ставить курсор в нужную точку и перезаписывать только изменившиеся части из буффера.
Вместо ожидания на константное время лучше сделать поправку на скорость отрисовки одного кадра на разных машинах, чтобы общее время отрисовки между ними было одинаковым.

+. Засекать время вначале работы полезной нагрузки, потом засекать в конце. Ждать 1e3/fps — duration.
Выглядит неплохо. Успехов в дальнейшей разработке
Есть же libtcod…
Тааак, конкуренты появляются)
Почему бы не хранить строки в строках, а не в списке строк из одного символа?

OUTPUT_IMAGE = [
        "................",
        "................",


В питоне строки являются неизменяемыми. В таком случае придется работать со срезами для замены пары символов, что может привести к ошибкам и увеличению времени работы

Уверен, что будет быстрее, чем сейчас.
Так хранить же (чтобы уровни задавать и паттерны), а обрабатывать можно и в массивах

Спасибо за идею, буду пытаться перенести на шарп

Интересный вариант, мне понравилось решение
Кто-нибудь, расскажите автору про curses (и его врапперы под Шindoшs)
OUTPUT_IMAGE = [
[".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".",],
[".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".",],

Питон не знаю, но там вроде множество замечательных функции, чтобы не писать подобные портянки, к примеру (псевдокод в данном случае) OUTPUT_IMAGE.append('.' * 15.split('.'))

Мне кажется лучше вообще не хранить в буффере символы, а сделать два списка: один — с идентификаторами символов, другой — с маппингом этих идентификаторов на карту.
Карту желательно свернуть в одномерный список для простоты.

Это зависит от процесса
Если ты — и геймдизайнер и программист и в коде хранишь уровни (простой и надежный вариант для таких простых игр, кстати), то удобно хранить как раз символы по строкам, потому что визуально видны уровни.
Казуальный Wysiwyg эдакий
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации