Coordinate MakeMove(IGame game) { _view.ShowBoard(game.Board); bool invalidMove = true; int xCoord = 0; int yCoord = 0; while (invalidMove) { _view.RetrievePlayersMove(); string playersMove = _view.PlayersMove; if(playersMove.Contains(",")) { string[] coordinates = playersMove.Split(','); if(coordinates.Length == 2) { string xCoordString = coordinates[0]; string yCoordString = coordinates[1]; if(IsValidCoordinate(xCoordString, out xCoord) && IsValidCoordinate(yCoordString, out yCoord)) { if(game.MoveIsValid(xCoord, yCoord)) invalidMove = false; } } } } return new Coordinate(xCoord,yCoord); }