我想制作一个游戏,我想在游戏运行时加上一个计时器,玩家可以进入所需的持续时间,最后结束程序当时如何填写以下代码中的while条件,以实现此目的?
ConsoleKeyInfo info;
jatek j = new jatek();
do
{
Console.Clear();
Console.WriteLine(j.Jatekter());
info = Console.ReadKey(true);
switch (info.Key)
{
case ConsoleKey.UpArrow: j.Mozgas(-1, 0); break;
case ConsoleKey.DownArrow: j.Mozgas(1, 0); break;
case ConsoleKey.LeftArrow: j.Mozgas(0, -1); break;
case ConsoleKey.RightArrow: j.Mozgas(0, 1); break;
case ConsoleKey.Escape: j.Vege = true; break;
}
} while ();
答案 0 :(得分:0)
我建议在开头放入一个开始时间,你可以像这样在while循环中引用它:
DateTime startTime = DateTime.Now;
do
{
// Game play
} while(((TimeSpan) (DateTime.Now - startTime)).TotalMinutes < gameInterval);
您可以为gameInterval提供游戏运行时间的必要值。如果你到达while循环并且从现在到你开始的总持续时间超过了那个时间间隔,你就不会再次循环。
修改强>
我没有打开IDE,但我不相信上面的语法是正确的,但它仍然会让你朝着正确的方向前进。这个question有一个很好的答案来获得持续时间,这应该对你有帮助。
编辑2 我已经将上面的代码更改为使用TimeSpan,并且假设gameInterval以分钟为单位,但您可以更改它。