private LoadedAction ReadKeyforShoot() { bool isLoaded = false; while (!isLoaded) { Keys key = _inputDevice.ReadKey(); switch (key) { case Keys.Down: { if (++_x > BoardSize.BottomEdge) { _x = BoardSize.TopEdge; } isLoaded = true; break; } case Keys.Up: { if (--_x < BoardSize.TopEdge) { _x = BoardSize.BottomEdge; } isLoaded = true; break; } case Keys.Right: { if (++_y > BoardSize.RightEdge) { _y = BoardSize.LeftEdge; } isLoaded = true; break; } case Keys.Left: { if (--_y < BoardSize.LeftEdge) { _y = BoardSize.RightEdge; } isLoaded = true; break; } case Keys.Undo: { Thread.Sleep(100); return(LoadedAction.Undo); } case Keys.Escape: { Thread.Sleep(100); return(LoadedAction.BackToMenu); } case Keys.Enter: { Thread.Sleep(100); return(LoadedAction.Shot); } default: break; } } Thread.Sleep(100); _inputDevice.ClearStram(); return(LoadedAction.DontShot); }