本文整理汇总了C#中Display.Update方法的典型用法代码示例。如果您正苦于以下问题:C# Display.Update方法的具体用法?C# Display.Update怎么用?C# Display.Update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Display
的用法示例。
在下文中一共展示了Display.Update方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
//System.Threading.Thread msgLoop = new System.Threading.Thread(new System.Threading.ThreadStart())
TetrisField field = new TetrisField();
Timer gameTimer = new Timer(1000);
gameTimer.Elapsed += (sender, e) =>
{
field.Gravity();
UIManager.Render();
UIManager.DrawFrame();
};
gameTimer.Start();
Display disp = new Display(field.Next);
field.TetrominoLocked += (sender, e) => disp.Update(e.Next);
Display held = new Display(field.Hold);
field.TetrominoHeld += (sender, e) => held.Update(e.Hold);
//UIThread.Start();
UIScene scene = new UIScene(new IRenderable[] { field, disp, held }, new[] { new[] { 1, 1 }, new[] { 1, 22 }, new[] {10, 22}}, new[] { "Field", "Next", "Hold"}, 42, 31, ConsoleColor.White, ConsoleColor.White);
UIManager.Initialize();
UIManager.setScene(scene);
while (true)
{
UIManager.Render();
UIManager.DrawFrame();
ConsoleKeyInfo k = Console.ReadKey(false);
if (k.Key == ConsoleKey.LeftArrow)
{
field.ProcessInput(UserInput.Left);
}
else if (k.Key == ConsoleKey.RightArrow)
{
field.ProcessInput(UserInput.Right);
}
else if (k.Key == ConsoleKey.UpArrow)
{
field.ProcessInput(UserInput.RotateClockwise);
}
else if (k.Key == ConsoleKey.DownArrow)
{
field.ProcessInput(UserInput.Down);
}
else if (k.Key == ConsoleKey.Spacebar)
{
field.ProcessInput(UserInput.Lock);
}
else if (k.Key == ConsoleKey.A)
{
field.ProcessInput(UserInput.Hold);
}
}
Console.ReadKey(true);
}