C# C语言中的控制台跳转和运行#

C# C语言中的控制台跳转和运行#,c#,console-application,C#,Console Application,我想用C#编写一个简单的跳转代码并在控制台中运行。就像没有怪物的supermario。当我想更新“播放器”时,它并不总是工作或闪烁 static int cursorX = 5; static int cursorY = 10; static void Main(string[] args) { Console.SetCursorPosition(cursorX, cursorY);

我想用C#编写一个简单的跳转代码并在控制台中运行。就像没有怪物的supermario。当我想更新“播放器”时,它并不总是工作或闪烁

        static int cursorX = 5;
        static int cursorY = 10;

        static void Main(string[] args)
        {
            Console.SetCursorPosition(cursorX, cursorY);
            Console.Write("A");

            while(true)
            {
                MovePlayer();
            }

            Console.ReadKey(true);
        }

        private static void MovePlayer()
        {
            if (Console.ReadKey().Key == ConsoleKey.RightArrow)
            {
                updateCursor(cursorX + 1, cursorY);
            }
            else if(Console.ReadKey().Key == ConsoleKey.LeftArrow)
            {
                updateCursor(cursorX - 1, cursorY);
            }
        }

        private static void updateCursor(int x, int y)
        {
            Console.Clear();
            Console.SetCursorPosition(x, y);
            Console.Write("A");
        }
}
您的字符“A”没有移动,因为
cursorX+1
cursorX-1
不会为其自身分配新值(光标位置)。它只是将当前值加上
+1
,减去
-1
。您需要将新值分配给
cursorX
。您需要使用
递增运算符(++)
递减运算符(-)


这还不够详细,我们无法帮助您继续前进,向我们展示您的尝试、结果以及您想要实现的目标。我想要一个像字母“a”这样的角色在地图上移动,并在控制台内跳跃对象。但问题是角色并不总是在移动,或者控制台不做任何动作就闪烁。您可以使用特定的对象光标位置检查当前的“A”角色光标位置。如果两者都是相同的,请自己试一试,然后问另一个你面临的问题。所以它不是为了为你开发所有东西。
private static void MovePlayer()
{
    if (Console.ReadKey().Key == ConsoleKey.RightArrow)
    {
        updateCursor(cursorX++, cursorY);
    }
    else if (Console.ReadKey().Key == ConsoleKey.LeftArrow)
    {
        updateCursor(cursorX--, cursorY);
    }
}