C# C语言中的控制台跳转和运行#
我想用C#编写一个简单的跳转代码并在控制台中运行。就像没有怪物的supermario。当我想更新“播放器”时,它并不总是工作或闪烁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);
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);
}
}