protected void PopulateMines() { MineFactory Mf = new MineFactory(); MinesPack.AddRange(Mf.GetAllMines()); MinesOnBoard.Add(MinesOnBoardLvl1); MinesOnBoard.Add(MinesOnBoardLvl2); MinesOnBoard.Add(MinesOnBoardLvl3); }
protected void RandomizeMissingMines() { int missingCountLvl1 = 4 - MinesOnBoardLvl1.Count; Random rnd = new Random(); for (int i = 0; i < missingCountLvl1; i++) { var adequateMinesFromPack = MinesPack.Where(m => m.Level == 1).ToList(); if (adequateMinesFromPack.Count <= 0) { continue; } int randomizedNumber = rnd.Next(0, adequateMinesFromPack.Count - 1); Mine randomizedMine = adequateMinesFromPack[randomizedNumber]; MinesPack.Remove(randomizedMine); MinesOnBoardLvl1.Add(randomizedMine); } int missingCountLvl2 = 4 - MinesOnBoardLvl2.Count; for (int i = 0; i < missingCountLvl2; i++) { var adequateMinesFromPack = MinesPack.Where(m => m.Level == 2).ToList(); if (adequateMinesFromPack.Count <= 0) { continue; } int randomizedNumber = rnd.Next(0, adequateMinesFromPack.Count - 1); Mine randomizedMine = adequateMinesFromPack[randomizedNumber]; MinesPack.Remove(randomizedMine); MinesOnBoardLvl2.Add(randomizedMine); } int missingCountLvl3 = 4 - MinesOnBoardLvl3.Count; for (int i = 0; i < missingCountLvl3; i++) { var adequateMinesFromPack = MinesPack.Where(m => m.Level == 3).ToList(); if (adequateMinesFromPack.Count <= 0) { continue; } int randomizedNumber = rnd.Next(0, adequateMinesFromPack.Count - 1); Mine randomizedMine = adequateMinesFromPack[randomizedNumber]; MinesPack.Remove(randomizedMine); MinesOnBoardLvl3.Add(randomizedMine); } }