public Board(game Tg, string FileName) { g = Tg; r = new Random((int)DateTime.Now.Ticks); LoadFromFile(FileName); GenerateRandomBoard(DateTime.Now.Millisecond); // TODO zamienić 666 na coś innego (seed) Bonuses[2, 3] = new Moneta(g); Fields[2, 4] = new Bomba(g); if (Fields.GetLength(0) != Bonuses.GetLength(0)) throw new Exception ("Wymiary szerokości plansz nie zgadzają się"); if (Fields.GetLength(1) != Bonuses.GetLength(1)) throw new Exception ("Wymiary wysokości plansz nie zgadzają się"); }
public bool GenerateRandomBoard(double Seed) { // przelecieć się po polach wolnych i dla poszczególnych prawdopdobieństw // polosować bonusy for (int i = 0; i < Fields.GetLength(0); i++) for (int j = 0; j < Fields.GetLength(1); j++) { if (Fields[i, j] is Korytarz && Bonuses[i,j] == null) { int los = r.Next() % 100; if (los < 5) { // pojawia się nowy bonus int los2 = r.Next() % 100; if (los2 < 10) { Bonuses[i, j] = new Moneta(g); continue; } if (los2 < 20) { Bonuses[i, j] = new Ogien(g); continue; } if (los2 < 30) { Bonuses[i, j] = new Serce(g); continue; } if (los2 < 40) { Bonuses[i, j] = new Wrotki(g); continue; } if (los2 < 50) { Bonuses[i, j] = new Zegar(g); } } } } return false; //throw new NotImplementedException(); }