private int StartPlaying() { ConsoleKeyInfo keyInfo; while (true) { while (Console.KeyAvailable) { keyInfo = Console.ReadKey(true); switch (keyInfo.Key) { case ConsoleKey.UpArrow: player.Move(new Point(0, -1), level, Time); break; case ConsoleKey.DownArrow: player.Move(new Point(0, 1), level, Time); break; case ConsoleKey.LeftArrow: player.Move(new Point(-1, 0), level, Time); break; case ConsoleKey.RightArrow: player.Move(new Point(1, 0), level, Time); break; case ConsoleKey.Escape: return(CODE_PAUSE); default: break; } } level.MoveEnemies(Time); if (level.CheckCoinCollision(player.Pos)) { Points++; GuiUpdater.SetPoints(Points); } if (level.CheckEnemyCollision(player.Pos)) { Lives--; Time = 0; if (Lives < 1) { return(CODE_LOST); } player.MoveToPosition(level.Spawn, level); GuiUpdater.SetLevel(level.Name); GuiUpdater.SetLives(Lives); GuiUpdater.SetPoints(Points); GuiUpdater.ShowTopStrip(); continue; } if (level.CheckFinishCollision(player.Pos)) { return(CODE_WON); } Time++; Thread.Sleep(16); } }