Комментарии 15
Вызов clear перед отрисовкой каждого кадра будет вызывать мерцание в терминале. Лучше ставить курсор в нужную точку и перезаписывать только изменившиеся части из буффера.
Вместо ожидания на константное время лучше сделать поправку на скорость отрисовки одного кадра на разных машинах, чтобы общее время отрисовки между ними было одинаковым.
+5
Выглядит неплохо. Успехов в дальнейшей разработке
-2
Есть же libtcod…
0
Тааак, конкуренты появляются)
+1
Почему бы не хранить строки в строках, а не в списке строк из одного символа?
OUTPUT_IMAGE = [
"................",
"................",
0
Спасибо за идею, буду пытаться перенести на шарп
0
Интересный вариант, мне понравилось решение
0
Кто-нибудь, расскажите автору про curses (и его врапперы под Шindoшs)
0
OUTPUT_IMAGE = [
[".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".",],
[".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".",],
…
Питон не знаю, но там вроде множество замечательных функции, чтобы не писать подобные портянки, к примеру (псевдокод в данном случае) OUTPUT_IMAGE.append('.' * 15.split('.'))
[".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".",],
[".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".", ".",],
…
Питон не знаю, но там вроде множество замечательных функции, чтобы не писать подобные портянки, к примеру (псевдокод в данном случае) OUTPUT_IMAGE.append('.' * 15.split('.'))
+1
Мне кажется лучше вообще не хранить в буффере символы, а сделать два списка: один — с идентификаторами символов, другой — с маппингом этих идентификаторов на карту.
Карту желательно свернуть в одномерный список для простоты.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Полноценная игра, сделанная мною в обычной windows консоли