无法弄清楚如何在控制台窗口上打印坐标



我正在尝试使用 for 循环在控制台窗口上打印符号"@"。不知道应该怎么回事。我尝试过,但最终选择了正确的 Y 坐标,但不是正确的 X 坐标。

        Class1 Point = new Class1(2, 8);
        Console.WriteLine("X = {0}", Point.X);
        Console.WriteLine("Y = {0}", Point.Y);

        for (int y = 0; y < Point.Y; y++)
        {
            Console.WriteLine("");
            if (y == Point.Y - 1)
            {
                for (int x = 0; x < Point.X; x++)
                {
                    Console.Write(" @");
                }
            }
        }
    }$

要写入控制台应用程序中的特定位置,请使用 。设置光标位置

Point point = new Point(5,5);
Console.SetCursorPosition(point.X, point.Y);
Console.Write("X");

或者,您可以使用 .游标左和 .CursorTop 属性,其中包含光标在控制台窗口中的当前位置

Point point = new Point(5,5);
Console.CursorLeft = point.X;
Console.CursorTop = point.Y;
Console.Write("X");

编辑

由于您绝对想循环执行:

Point point = new Point(5,5);
for (int y = 0; y <= point.Y; y++)
{
    for (int x = 0; x <= point.X; x++)
    {
        if ((x == point.X) && (y == point.Y))
        {
            Console.Write("X");
            Break;
        }
        Console.CursorLeft++;
    }
    Console.CursorTop++;
}

最新更新