コード例 #1
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;
        }
コード例 #2
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;
        }