Задать вопрос
@WTFAYD

Как реализуется консольная real-time графика?

Здравствуйте! Мой вопрос может звучать достаточно размыто, но я все же постараюсь объяснить.
Вот, допустим, я написал рабочую часть (алгоритмическую) для крестиков-ноликов, то есть все работает, выигрыш-поражение-ничья определяется, и тому подобное. И теперь мне нужно правильно оформить графическую часть игры в консоли. Я, конечно, пока писал алгоритм, сделал что-то подобное, но это выглядит странно - то есть, каждый раз, когда игрок делает ход, я заново печатал игровую сетку чуть ниже предыдущего вывода сетки.
Как в консольных играх делается графика?
К примеру, мне кажется неправильным очищать консольное окно и заново рисовать сетку после каждого хода. Или, например, если я захочу влепить куда нить часики в игровое окно, неужели мне придется обновлять таким образом экран каждую секунду?
То есть, каким образом отслеживаются и делаются изменения (цвет, расположение, и т.д.) в выводе консоли в режиме реального времени или в зависимости от действий пользователя?
Заранее спасибо.

P.S. Язык, на котором пишу - Java, но интересует более общая концепция, как это все происходит и что для этого обычно используется.
  • Вопрос задан
  • 525 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
qork
@qork
{ background: #F00B42 }
Например, bash:
#!/bin/bash

echo -ne '#####                     (33%)\r'
sleep 1
echo -ne '#############             (66%)\r'
sleep 1
echo -e '#######################   (100%)\r'

Флаги:
n - не переводить на новую строку после вывода
e - включение интерпретации экранированных символов (\r)

\r в строке означает возврат каретки (в крайнее левое положение).
Дальше, после слипа, поверх строки пишем новую.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы