c#控制台 - 在按下按键之前执行某些操作

时间:2017-04-08 17:32:56

标签: c# console-application

最近我试图在Console-Application中制作基本游戏,比如用箭头移动光标(可能是蛇和游戏的一个非常基本的开始,你在控制台屏幕上移动了一些东西),我想询问是否有可能让光标不能停止移动,只是在按下某个箭头时改变方向?它是否与事件有关?

感谢。

2 个答案:

答案 0 :(得分:0)

我建议如下:

bool isRight, isUp; //Used to determine direction
while (gamePlaying)
{
     if(Console.KeyAvailable)
     {
       Console.ReadKey(); //Do your thing in here
     }
}

因此,您检查是否按下了某个键,如果是,则将其读取。

另外,请记住,如果你正在制作一个控制台游戏,你会想要对屏幕进行双重缓冲,并使用Win32 API尽可能减少写入调用或者屏幕闪烁可怕。

答案 1 :(得分:0)

我不相信无论如何都要控制控制台窗口的光标位置。你可以阅读或写文字,但那是关于它的。所以如果你想制作一个控制台游戏,它需要是基于文本的。您可以制作游戏ASCII艺术,其中新文本以足够快的速度打印到控制台,看起来是动画的,但我认为控制台的速度不够快,无法使其正常工作。