public void Move(int turn, String move) { move = Normalize(move); char f = move[0]; if (move == "O-O") { gameManager.KingSideCastling(turn); } else if (move == "O-O-O") { gameManager.QueenSideCastling(turn); } else { int n = move.Length; int rank = move[n - 1] - '1'; //hang int file = move[n - 2] - 'a'; //cot Location dest = new Location(file, rank); Location src; if ("KQBNR".Contains(f.ToString())) { String disam = ""; if (n == 4) { disam += move[1]; } src = gameManager.Find(turn, f, dest, disam); } else //Pawn { String disam = ""; if (n == 3) { disam += move[0]; } src = gameManager.Find(turn, 'P', dest, disam); //Find Pawn } gameManager.Move(src, dest); } }