c#控制台在按下键之前执行操作
最近,我尝试在控制台应用程序中制作一些基本的游戏,比如用箭头移动光标(可能是snake和游戏的一个非常基本的开始,你可以在控制台屏幕上移动一些东西),我想问一下,是否有可能使光标不会停止移动,只要在按下箭头时改变方向?这与事件有关吗c#控制台在按下键之前执行操作,c#,console-application,C#,Console Application,最近,我尝试在控制台应用程序中制作一些基本的游戏,比如用箭头移动光标(可能是snake和游戏的一个非常基本的开始,你可以在控制台屏幕上移动一些东西),我想问一下,是否有可能使光标不会停止移动,只要在按下箭头时改变方向?这与事件有关吗 谢谢。我建议如下: bool isRight, isUp; //Used to determine direction while (gamePlaying) { if(Console.KeyAvailable) { Console
谢谢。我建议如下:
bool isRight, isUp; //Used to determine direction
while (gamePlaying)
{
if(Console.KeyAvailable)
{
Console.ReadKey(); //Do your thing in here
}
}
所以你要检查一个键是否被按下,如果是你读的
另外,请记住,如果您正在制作一个控制台游戏,您将希望加倍缓冲屏幕,并使用Win32 API尽可能减少写调用,或者您的屏幕闪烁得很厉害。我认为无论如何都无法控制控制台窗口的光标位置。你可以读或写文本,但仅此而已。因此,如果你想制作一个控制台游戏,它需要基于文本。你可能可以制作一个基于ASCII码的游戏,新文本以足够快的速度打印到控制台,使其看起来像是动画,但我认为控制台的速度不够快,无法很好地工作。只需使用
while(true)
循环,然后在每次循环开始时检查是否按下了某个键。如果不使用Console.ReadKey,如何执行此操作?如果我使用它,程序将等待输入keyUseif(Console.KeyAvailable){Console.ReadKey();}