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 關注
- 166 瀏覽
添加回答
舉報