예제 #1
0
 public MeleeBehavior()
 {
     Strategies.AddRange(new BaseStrategy[]
     {
         new FullScanRadar(),
         new ForceMovement(
             new Force[]
         {
             new AvoidCentreForce(),
             new AvoidWallForce(),
             new AvoidEnemyForce(),
             new RandomForce(),
             new MaximumEnemyDistanceForce()
         }),
         new TargetNearestEnemy(),
         new MeleeFiringStrategy(),
         new PredictionAlgorithms(
             new PredictionAlgorithm[]
         {
             new CurrentPosition(),
             new LastBlipVelocity(),
             new PlayItForward()
         })
     });
 }
예제 #2
0
 public OneVsOneBehavior()
 {
     Strategies.AddRange(new BaseStrategy[]
     {
         new TargetOnly(),      // Before Ratdar
         new ScanTargetRadar(), // After Targeting
         new ForceMovement(
             new Force[]
         {
             new AvoidWallForce(),
             new AvoidEnemyForce(),
             new MiddleEnemyDistanceForce(),
             new TangentialOscillationForce()
         }),
         new OneVsOneFiringStrategy(),
         new PredictionAlgorithms(
             new PredictionAlgorithm[]
         {
             new CurrentPosition(),
             new LastBlipVelocity(),
             new PlayItForward(),
             new GuessFactorAiming()
         })
     });
 }
예제 #3
0
 public TargetBehavior()
 {
     Strategies.AddRange(new BaseStrategy[]
     {
         new FullScanRadar(),
         new TargetOnly(),
         new ForceMovement(new Force[]
         {
             new AvoidWallForce(),
             new AvoidEnemyForce(),
             new MiddleEnemyDistanceForce(),
             new TangentialOscillationForce()
         })
     });
 }
 public BaseBehaviourAccessor(IEnumerable <BaseStrategy> strategies)
 {
     Strategies.AddRange(strategies);
 }