示例#1
0
        public Game(IAgeStrategy ageStrategy, IWinningStrategy winningStrategy, IActionStrategy actionStrategy = null)
        {
            _ageStrategy     = ageStrategy;
            _winningStrategy = winningStrategy;
            _actionStrategy  = actionStrategy;

            PlayerInTurn = Player.RED;
            Age          = -4000;

            // Add Standard Cities
            _cities.Add(new Position(1, 1), new City(Player.RED, new Position(1, 1)));
            _cities.Add(new Position(4, 1), new City(Player.BLUE, new Position(4, 1)));

            // Add standard units
            _units.Add(new Position(2, 0), new Unit(Player.RED, GameConstants.Archer));
            _units.Add(new Position(3, 2), new Unit(Player.BLUE, GameConstants.Legion));
            _units.Add(new Position(4, 3), new Unit(Player.RED, GameConstants.Settler));

            // Decorate the board with tiles
            _tiles.Add(new Position(1, 0), new Tile(GameConstants.Ocean));
            _tiles.Add(new Position(0, 1), new Tile(GameConstants.Hills));
            _tiles.Add(new Position(2, 2), new Tile(GameConstants.Mountains));

            _redCity  = GetCityAt(new Position(1, 1));
            _blueCity = GetCityAt(new Position(4, 1));
        }
示例#2
0
 public ChunLi(GameObject go, IActionStrategy action, AudioClip punchSound, AudioClip kickSound) : base(go, action, punchSound, kickSound)
 {
     AttackSpeed = 0.2f;
     PunchDmg    = 5f;
     KickDmg     = 14f;
     Name        = "Chun-Li";
 }
示例#3
0
 public ActionController(IntPtr hookedInstance, IActionView actionView, RecordStrategies recordStrategy)
 {
     try
     {
         switch (recordStrategy)
         {
             case RecordStrategies.Mouse:
                 actionStrategy = new MActionStrategy();
                 break;
             case RecordStrategies.Keyboard:
                 actionStrategy = new KBActionStrategy();
                 break;
             case RecordStrategies.MouseAndKeyboard:
                 actionStrategy = new KBMActionStrategy();
                 break;
             default:
                 break;
         }
         this.actionView = actionView;
     }
     catch (Exception ex)
     {
         ExceptionLogger.LogException(ex);
     }
     
 }
示例#4
0
 public CharacterGameStrategy(GameObject parent, IActionStrategy action, AudioClip punchSound, AudioClip kickSound)
 {
     PunchSound     = punchSound;
     KickSound      = kickSound;
     Parent         = parent;
     strategyAction = action;
     animator       = parent.GetComponent <Animator>();
 }
示例#5
0
 public Step(int turn, Location location,
             IActionStrategy actionStrategy, ITimeStrategy timeStrategy)
 {
     _turn           = turn;
     _location       = location;
     _actionStrategy = actionStrategy;
     _timeStrategy   = timeStrategy;
 }
示例#6
0
 public GameLoop(IInputOutput inputOutput,
                 CancellationToken cancellation,
                 IActionStrategy actionStrategy,
                 GameGrid gameGrid)
 {
     _gameGrid       = gameGrid ?? throw new ArgumentNullException(nameof(gameGrid));
     _actionStrategy = actionStrategy ?? throw new ArgumentNullException(nameof(actionStrategy));
     _cancellation   = cancellation;
     _inputOutput    = inputOutput ?? throw new ArgumentNullException(nameof(_inputOutput));
 }
示例#7
0
 public Pac(int id,
            bool mine,
            IActionStrategy strategy,
            GiveWayMovementStrategy giveWayMovementStrategy
            )
 {
     _giveWayMovementStrategy = giveWayMovementStrategy;
     Id              = id;
     Mine            = mine;
     LocationHistory = new List <Location>(50);
     SpeedTurnsLeft  = 0;
     AbilityCooldown = 0;
     Key             = new PacKey(Id, mine);
     CurrentStrategy = strategy;
 }
示例#8
0
 public Bison(GameObject go, IActionStrategy action, AudioClip punchSound, AudioClip kickSound) : base(go, action, punchSound, kickSound)
 {
     AttackSpeed = 0.02f;
     Name        = "Bison";
 }
示例#9
0
 public ActionExecutor(IActionStrategy actionStrategy)
 {
     this.actionStrategy = actionStrategy;
 }