Difference between revisions of "Time limit when entering choice"
(Created page with "== Extra declarations and namespacing == <syntaxhighlight lang="C#"> using System.Timers;//Add the Timer class to allow checking how much real time has passed...") |
|||
Line 33: | Line 33: | ||
// . . . | // . . . | ||
+ | } | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | |||
+ | == New Method == | ||
+ | |||
+ | <syntaxhighlight lang="C#"> | ||
+ | |||
+ | //This method is auto generated upon entering T.Elapsed += then pressing tab | ||
+ | //It is a method that is called whenever T.Elapsed is called. (This is a event that is subscribed to the delegate T.Elapsed) | ||
+ | static void T_Elapsed(object sender, ElapsedEventArgs e) | ||
+ | { | ||
+ | Console.WriteLine("Your time has run out. Press enter to continue"); | ||
+ | Timeout = true;//Once time has run out the program needs to know for future use | ||
+ | T.Stop();//The delegate should not keep running, otherwise the time player 2 gets is less then player 1. | ||
+ | T.Elapsed -= T_Elapsed;//If the event doesn't unsubscribe then it will begin stacking, each time it runs the message will appear an extra time | ||
+ | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> |
Revision as of 13:08, 24 May 2018
Extra declarations and namespacing
using System.Timers;//Add the Timer class to allow checking how much real time has passed
private static Timer T = new Timer(5000);//Create a new instance of the class Timer with a 5 second delay between event calls
private static bool Timeout = false;//A variable to check whether time has run out
GetChoice
private static string GetChoice()
{
Timeout = false; //This ensures that each time a player enters a choice they have the right amount of time.
// . . .
T.Start();//This starts counting real time using an event.
T.Elapsed += T_Elapsed;//This subscribes the event to a delegate, it allows a method to run after a set amount of time
// . . .
//The following if clears the choice to make it tidier
if (Timeout)
{
Choice = "";
}
// . . .
}
New Method
//This method is auto generated upon entering T.Elapsed += then pressing tab
//It is a method that is called whenever T.Elapsed is called. (This is a event that is subscribed to the delegate T.Elapsed)
static void T_Elapsed(object sender, ElapsedEventArgs e)
{
Console.WriteLine("Your time has run out. Press enter to continue");
Timeout = true;//Once time has run out the program needs to know for future use
T.Stop();//The delegate should not keep running, otherwise the time player 2 gets is less then player 1.
T.Elapsed -= T_Elapsed;//If the event doesn't unsubscribe then it will begin stacking, each time it runs the message will appear an extra time
}