/// <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);
        }
Beispiel #2
0
        public void AddLandmass(LandMass landMass)
        {
            if (landMasses == null)
            {
                landMasses = new List <LandMass>();
            }

            landMasses.Add(landMass);
        }