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

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

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

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

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


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

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

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

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

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

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

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

Публикации

Истории