Есть ли способ прокрутить консоль до пустого раздела? - PullRequest
0 голосов
/ 11 июля 2020

Я пытаюсь написать свою собственную текстовую приключенческую игру на C ++. Мне было интересно, есть ли способ прокрутить до пустого раздела консоли, сохранив при этом ранее напечатанный текст?

Таким образом, это будет выглядеть так, как будто консоль очищается, но один все еще можно прокрутить до предыдущего текста.

Возможно, функция, которая прокручивает определенное количество строк?

Дайте мне знать, что вы думаете.

Ответы [ 2 ]

0 голосов
/ 11 июля 2020

Мне удалось найти решение :)

Проблема при выводе 20 символов новой строки состоит в том, что там пустое место.

Таким образом, для перемещения полосы прокрутки нужно прокручивать, а затем сразу после этого верните символы назад, чтобы продолжить запись в непрерывном парагграфе.

void scrollBy(int rows)

{

for (int i = 0; i < rows - 1; i++)
{

    cout << "\n";

}

for (int i = 0; i < rows; i++)
{

    cout << "\x1b[A";

}

cout << "\n";

}

\ n в конце так, чтобы следующий введенный текст находился на новой строке.

0 голосов
/ 11 июля 2020

Ну решение очень простое. Вы можете запустить al oop для определенного количества строк с помощью специального символа '\n'. Здесь я определяю функцию, которая будет делать то же самое:

void clear_screen(){
for(int i=0; i<=20;i++)
std::cout<<"\n";
}

эта функция очистит следующие 20 строк.

...