4 回答

TA贡献1859条经验 获得超6个赞
您不需要程序计时器或线程来拥有游戏计时器。只记录游戏开始时的时间:
//During initialization
var startTime = DateTime.Now;
并且任何时候您希望显示或使用计时器,计算它:
var timerValue = DateTime.Now - startTime;
Console.WriteLine("Time elapsed: {0} seconds", timerValue.Seconds);

TA贡献1862条经验 获得超6个赞
您可以通过这种方式使用 Timer。
它对你有用
var timer2 = new Timer();
timer2.Elapsed += (o, e) =>
{
Console.WriteLine("Time Elapsed {0}", e.SignalTime);
timer2.Stop();
};
timer2.Interval = 1000;
timer2.Start();

TA贡献1780条经验 获得超4个赞
作为对出现的问题的直接修复(定时器低于 0),您需要在不再需要时停止定时器。为此,请使用以下行:
t.Change(Timeout.Infinite, Timeout.Infinite);
您可以将此行添加到您的outOfLives和outOfTime方法的开头:
private static void outOfLives()
{
t.Change(Timeout.Infinite, Timeout.Infinite);
Console.WriteLine("Game over! You typed " + correctWords + " words correctly!");
...
和...
private static void outOfTime()
{
t.Change(Timeout.Infinite, Timeout.Infinite);
Console.WriteLine("Out of time! You typed " + correctWords + " words correctly!");
...
编辑:对不起。只需重新阅读您的问题并意识到您已经尝试过这条线。你把它放在正确的地方了吗?
- 4 回答
- 0 关注
- 149 浏览
添加回答
举报