public static void PlaceShips(Board board) { foreach (var item in Enum.GetValues(typeof(ShipType))) { while (true) { Console.WriteLine($"\nPlace your {item}"); PlaceShipRequest request = new PlaceShipRequest { Coordinate = UserIO.EnterCoordinates(), Direction = UserIO.Direction(), ShipType = (ShipType)item, //set up loop to rotate current ship }; ShipPlacement response = new ShipPlacement(); response = board.PlaceShip(request); switch (response) { case ShipPlacement.NotEnoughSpace: Console.Clear(); Console.WriteLine($"Could not place {item}: Not enough space.\nPlease try again."); continue; case ShipPlacement.Overlap: Console.Clear(); Console.WriteLine($"Could not place {item}: Ship overlap.\nPlease try again"); continue; case ShipPlacement.Ok: break; } break; } Console.Clear(); } }