示例#1
0
        public void Update()
        {
            // execute stragegy
            _stragegy?.Update(_context);

            // spawn monsters
            var numSpawnedMonsters = _rnd.Next() % 10;

            _context.NumMonsters += numSpawnedMonsters;
            Console.WriteLine("Spawned {0} monsters", numSpawnedMonsters);

            // change stragegy
            if (_context.NumHeroes > _context.NumMonsters)
            {
                _stragegy = _killMonsterStragegy;
            }
            else if (_context.NumHeroes > _context.NumMonsters / 2)
            {
                _stragegy = _idleStragegy;
            }
            else
            {
                _stragegy = _spawnStragegy;
            }
        }
示例#2
0
 public void ChangeStragegy(IGameStragegy stragegy)
 {
     _stragegy = stragegy;
 }