C#控制台相关方法

发布于:2024-04-25 ⋅ 阅读:(28) ⋅ 点赞:(0)

控制台相关方法

在这里插入图片描述

控制台输入

//如果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;
    }
}