控制台相关方法
文章目录
- 控制台输入
- 1、清空
- 2、设置控制台
- 3、设置光标位置,1y = 2x
- 4、设置颜色相关
- 5、光标显隐
- 6、关闭控制台
- 思考 移动方块
控制台输入
//如果ReadKey(true)不会把输入的内容显示再控制台上
char c = Console.ReadKey(true).KeyChar;
1、清空
Console.Clear();
2、设置控制台
1、窗口大小
Console.SetWindowSize(100, 50);
2、缓冲区大小
Console.SetBufferSize(100, 50);
缓冲区高 Console.BufferHeight
缓冲区宽 Console.BufferWidth
3、设置光标位置,1y = 2x
Console.SetCursorPosition(10, 5);
4、设置颜色相关
1、文字颜色设置
Console.ForegroundColor = ConsoleColor.Green;
2、背景颜色设置
Console.BackgroundColor = ConsoleColor.White;
3、设置背景颜色过后,需要clear一次,才能把整个背景颜色改变
Console.Clear();
5、光标显隐
Console.CursorVisible = false;
6、关闭控制台
Environment.Exit(0);
思考 移动方块
通过W,S,A,D键,在控制台中控制一个方块上下左右移动。
//改变背景颜色
Console.BackgroundColor = ConsoleColor.Red;
Console.Clear();
//改变字体颜色
Console.ForegroundColor = ConsoleColor.Yellow;
//隐藏光标
Console.CursorVisible = false;
//位置信息,坐标x,y
int x =0, y =0;
//不停的输入wasd键,都可以控制它移动
while (true)
{
Console.SetCursorPosition(x, y);
Console.Write("■");
//得到玩家输入的信息
char c = Console.ReadKey(true).KeyChar;
//擦除之前的方块
Console.SetCursorPosition(x, y);
Console.Write(" ");
switch (c)
{
case 'W':
case 'w':
y -= 1;
//改变位置后 判断新位置是否越界
if (y < 0)
{
y= 0;
}
break;
case 'A':
case 'a':
//中文符号,再控制台占2个位置
x -= 2;
if (x < 0)
{
x = 0;
}
break;
case 'S':
case 's':
if (y > Console.BufferHeight - 1)
{
y = Console.BufferHeight - 1;
}
y += 1;
break;
case 'D':
case 'd':
if (x > Console.BufferWidth - 2)
{
x = Console.BufferWidth - 2;
}
x += 2;
break;
}
}