C#倒计时做

时间:2014-11-22 19:40:30

标签: c# timer while-loop

我想制作一个游戏,我想在游戏运行时加上一个计时器,玩家可以进入所需的持续时间,最后结束程序当时如何填写以下代码中的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 ();

1 个答案:

答案 0 :(得分:0)

我建议在开头放入一个开始时间,你可以像这样在while循环中引用它:

DateTime startTime = DateTime.Now;
do
{
   // Game play
} while(((TimeSpan) (DateTime.Now - startTime)).TotalMinutes < gameInterval);

您可以为gameInterval提供游戏运行时间的必要值。如果你到达while循环并且从现在到你开始的总持续时间超过了那个时间间隔,你就不会再次循环。

修改

我没有打开IDE,但我不相信上面的语法是正确的,但它仍然会让你朝着正确的方向前进。这个question有一个很好的答案来获得持续时间,这应该对你有帮助。

编辑2 我已经将上面的代码更改为使用TimeSpan,并且假设gameInterval以分钟为单位,但您可以更改它。