public void MoveFigureInBoard(string[,] newTable, int cursorPositionY, int cursorPositionX, bool count) { int volueFigureP1 = 0; int volueFigureP2 = 0; int secondEnterY = 0; int secondEnterX = 0; int firstEnterX = 0; int firstEnterY = 0; while (true) { switch (Console.ReadKey(true).Key) { case ConsoleKey.Escape: workWithFIles.SaveForTXT(newTable); Menu menu = new Menu(); menu.Screen(); break; case ConsoleKey.W: cursorPositionX -= 2; chessBoard.CheckPositionInTable(ref cursorPositionY, ref cursorPositionX); break; case ConsoleKey.A: cursorPositionY -= 3; chessBoard.CheckPositionInTable(ref cursorPositionY, ref cursorPositionX); break; case ConsoleKey.S: cursorPositionX += 2; chessBoard.CheckPositionInTable(ref cursorPositionY, ref cursorPositionX); break; case ConsoleKey.D: cursorPositionY += 3; chessBoard.CheckPositionInTable(ref cursorPositionY, ref cursorPositionX); break; case ConsoleKey.Enter: ChessFigure chessFigure = new ChessFigure(); chessFigure.CheckEnterCoordinate(ref firstEnterY, ref firstEnterX, ref secondEnterY, ref secondEnterX, ref cursorPositionY, ref cursorPositionX, ref count); if (!count) { chessFigure.NameAndCheckFigure(newTable, firstEnterY, firstEnterX, secondEnterY, secondEnterX, volueFigureP1, volueFigureP2); chessBoard.FillTableFigures(newTable); Console.SetCursorPosition(cursorPositionY, cursorPositionX); } break; } } }
private void MoveInScreen(int cursorPosition, string[] screenChess, string[] screenMenu) { Game game = new Game(); while (true) { switch (Console.ReadKey(true).Key) { case ConsoleKey.W: cursorPosition -= 1; if (CheckPositionInMenu(cursorPosition)) { ItemHighlight(cursorPosition, screenChess, screenMenu); } else { cursorPosition += 1; } break; case ConsoleKey.S: cursorPosition += 1; if (CheckPositionInMenu(cursorPosition)) { ItemHighlight(cursorPosition, screenChess, screenMenu); } else { cursorPosition -= 1; } break; case ConsoleKey.Enter: if (cursorPosition == 0) //new game { if (File.Exists("ChessBoard.txt")) { File.Delete("ChessBoard.txt"); } game.CycleForArray(); } if (cursorPosition == 1) //continue { game.CycleForArray(); } if (cursorPosition == 2) //rating { Console.WriteLine("Однажды тут будет рейтинг побед."); } if (cursorPosition == 3) //exit { WorkWithFIles workWithFIles = new WorkWithFIles(); string[,] newTable = workWithFIles.OpenForTXT(); workWithFIles.SaveForTXT(newTable); Console.ResetColor(); Environment.Exit(0); } break; } } }