110,567
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Text;
using System.Timers;
namespace Ch13Ex01
{
class Program
{
static int counter = 0;
static string displayString =
"This string will appear one letter at a time."+"Let begones be begones,don't drewll on the past too much."
+"Game is over,just I want to deal with it perfectly";
static void Main(string[] args)
{
Console.WriteLine("Game Start: Press any key to continue...");
Timer myTimer = new Timer(100);
myTimer.Elapsed += new ElapsedEventHandler(WriteChar);
myTimer.Start();
Console.ReadKey();
}
static void WriteChar(object sender, ElapsedEventArgs e)
{
Console.Write(displayString[counter++ % displayString.Length]);
}
}
}
using System;
using System.Timers;
namespace Ch13Ex01
{
class Program
{
static int counter = 0;
static string displayString =
"This string will appear one letter at a time." +
"Let begones be begones,don't drewll on the past too much." +
"Game is over,just I want to deal with it perfectly";
static void Main(string[] args)
{
Console.WriteLine("Game Start: Press [Space Bar] to pause, [Enter] to restart, other key to exit");
Timer myTimer = new Timer(100);
myTimer.Elapsed += new ElapsedEventHandler(WriteChar);
myTimer.Start();
while (true)
{
switch (Console.ReadKey().Key)
{
case ConsoleKey.Spacebar:
Console.CursorLeft--;
myTimer.Enabled = !myTimer.Enabled;
break;
case ConsoleKey.Enter:
Console.WriteLine();
System.Threading.Interlocked.Exchange(ref counter, 0);
break;
default:
return;
}
}
}
static void WriteChar(object sender, ElapsedEventArgs e)
{
int i = System.Threading.Interlocked.Increment(ref counter);
if (i < displayString.Length)
{
Console.Write(displayString[i]);
}
}
}
}