/// <summary> /// Must BuildPieces() before calling CreateLandmass(). /// Adds landmass to board. /// </summary> /// <param name="numPieces"></param> public void CreateLandmass(int numPieces) { if (numPieces > pieces.Count) { Console.WriteLine($"Cannot create a landmass with {numPieces}. Not enough pieces left: {pieces.Count()}. Returning..."); return; } if (board == null) { board = new Board(); } List <BoardPiece> chosenPieces = new List <BoardPiece>(); for (int i = 0; i < numPieces; i++) { int pieceRNG = random.Next(0, pieces.Count()); if (chosenPieces.Any()) { ConnectAdjacent(chosenPieces, pieces[pieceRNG]); } chosenPieces.Add(pieces[pieceRNG]); pieces.RemoveAt(pieceRNG); } LandMass landMass = new LandMass(chosenPieces); board.AddLandmass(landMass); }
public void AddLandmass(LandMass landMass) { if (landMasses == null) { landMasses = new List <LandMass>(); } landMasses.Add(landMass); }