コード例 #1
0
ファイル: BeeGameTests.cs プロジェクト: rmjoia/TheBeeGame
 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);
 }
コード例 #2
0
ファイル: HomeController.cs プロジェクト: rmjoia/TheBeeGame
        public ActionResult StartGame()
        {
            game = (BeeGame)Session["game"];

            settings = (GameSettings)Session["settings"];
            game.Start(settings);

            return View("Index", game);
        }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: rmjoia/TheBeeGame
        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);
        }
コード例 #4
0
ファイル: BeeGame.cs プロジェクト: rmjoia/TheBeeGame
        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;
        }
コード例 #5
0
ファイル: Hive.cs プロジェクト: rmjoia/TheBeeGame
        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;
        }