如何重画移出屏幕的东西?c#
本文关键字:何重画 移出 屏幕 | 更新日期: 2023-09-27 18:04:13
所以我创建了这个包含字母的"矩形图形"。我原以为它会停留在"可视控制台"的顶端(就像……当用户输入更多文本时将向下滚动,等等。我想这个术语将是"浮动"头。
这是它的代码,以及'字母表'的代码
private static void headerFile()
{
Console.Clear();
firstColumn = Console.CursorLeft;
firstRow = Console.CursorTop;
int HEADER_HEIGHT = 6;
int columnNumber = Console.WindowWidth - 1;
var xcoord = 0;
var ycoord = 0;
for (int i = 0; i < columnNumber; i++)
{
headerWindow("-", i, 0);
headerWindow("-", i, HEADER_HEIGHT);
}
for (int i = 0; i < HEADER_HEIGHT; i++)
{
headerWindow("|", 0, i);
headerWindow("|", columnNumber, i);
}
headerWindow("+", xcoord = 0, ycoord = 0);
headerWindow("+", xcoord = columnNumber, ycoord = 0);
headerWindow("+", xcoord = 0, ycoord = 6);
headerWindow("+", xcoord = columnNumber, ycoord = 6);
}
private static void letterChoices()
{
string[] alphabetSelection = File.ReadAllLines("alphabet.txt");
for (int i = 0; i < alphabetSelection.Length; i++)
{
//headerWindow("|", 0, 3);
headerWindow(alphabetSelection[i], i*3+1, 1);
//Console.Write("'n ");
Console.SetCursorPosition(0, 7);
}
//return;
}
所以有可能有一个浮动的"图形",保持在控制台窗口的顶部?或者,当它的顶部移动到可视区域以下时,是否有可能自动"重新绘制"相同的东西?
如果我必须重新绘制矩形,是否有办法保存屏幕状态,清空控制台,然后重新绘制所有进度,就像程序重新开始一样,但所有的"输入"(如选定的字母等)都保留在屏幕上。
顺便说一句,这是'hangman'。此外,请尽量不要为我写代码-只是让我知道,如果它可以做到,我可能需要看看为了做这样的事情。:)啊。所以对于每一个动作,它每次都会重新绘制。现在,鉴于这是一个小程序,你认为它需要多长时间每次重新绘制?
运行此命令并按Enter键几次。
它展示了几乎整个屏幕每次都被重新绘制:
static void Main(string[] args)
{
while(true)
{
Console.Clear();
Console.WriteLine("Top");
for (int x = 0; x < Console.WindowWidth; x++)
{
for (int y = 1; y < Console.WindowHeight - 1; y++)
{
Console.SetCursorPosition(x, y);
Console.Write("X");
}
}
Console.SetCursorPosition(0, Console.WindowHeight - 1);
Console.Write("Prompt: ");
Console.ReadLine();
}
}
它不是最漂亮的,但这是一个控制台应用程序。你想要什么?div =)