public void SetupTests() { sut = new BeeGame(); var queensRule = new GameRule(0, 1, 100, 8); var workersRule = new GameRule(0, 5, 75, 10); var dronesRule = new GameRule(0, 8, 50, 12); settings = new GameSettings(queensRule, workersRule, dronesRule); }
public ActionResult StartGame() { game = (BeeGame)Session["game"]; settings = (GameSettings)Session["settings"]; game.Start(settings); return View("Index", game); }
public ActionResult Index() { game = new BeeGame(); settings = new GameSettings(new GameRule(0, 1, 100, 8), new GameRule(0, 5, 75, 10), new GameRule(0, 8, 50, 12)); game.Start(settings); Session["game"] = game; Session["settings"] = settings; return View(game); }
public BeeGame Start(GameSettings settings) { if (settings.GetQueensConfig().Elements == settings.GetQueensConfig().Min) throw new ArgumentException("Queen Bees Quantity Can't be 0"); if (settings.GetWorkersConfig().Elements == settings.GetWorkersConfig().Min) throw new ArgumentException("Worker Bees Quantity Can't be 0"); if (settings.GetDronesConfig().Elements == settings.GetDronesConfig().Min) throw new ArgumentException("Drone Bees Quantity Can't be 0"); Hive = _hive.PopulateHive(settings); UpdateGameStatus(Hive); IsPlaying = true; return this; }
public IList<IBee> PopulateHive(GameSettings settings) { var hivePopulation = (settings.GetQueensConfig().Elements+ settings.GetWorkersConfig().Elements + settings.GetDronesConfig().Elements); var random = new Random((int)DateTime.Now.Ticks & 0x0000FFFF); var hive = new IBee[hivePopulation]; //TODO: Use a availableSlot Array splicing used units GenerateBees(beeType: typeof(Queen), container: hive, rule: settings.GetQueensConfig()); GenerateBees(beeType: typeof(Worker), container: hive, rule: settings.GetWorkersConfig()); GenerateBees(beeType: typeof(Drone), container: hive, rule: settings.GetDronesConfig()); return hive; }