예제 #1
0
 public LocationVictoryConditionRule(List <PieceType> pieceTypes, ConditionalLocationDelegate victoryLocationDelegate)
 {
     types                    = pieceTypes;
     victoryLocation          = victoryLocationDelegate;
     lastDestinationSquare    = new int[Game.MAX_PLY];
     lastDestinationSquare[0] = -1;
 }
예제 #2
0
 public BasicPromotionRule
     (PieceType promotingType,
     List <PieceType> availablePromotionTypes,
     ConditionalLocationDelegate destLocationConditionDelegate,
     ConditionalLocationDelegate origLocationConditionDelegate = null)
 {
     this.promotingType    = promotingType;
     promotionTypes        = availablePromotionTypes;
     destLocationCondition = destLocationConditionDelegate;
     origLocationCondition = origLocationConditionDelegate;
 }
예제 #3
0
 public void AddBasicPromotionRule(PieceType promotingType, List <PieceType> availablePromotionTypes, ConditionalLocationDelegate destinationConditionDelegate, ConditionalLocationDelegate originConditionDelegate)
 {
     if (PromotingType == null)
     {
         PromotingType = promotingType;
     }
     AddRule(new BasicPromotionRule(promotingType, availablePromotionTypes, destinationConditionDelegate, originConditionDelegate));
 }
예제 #4
0
 public PieceLocationRestrictionRule(PieceType pieceType, ConditionalLocationDelegate conditionDelegate)
 {
     this.pieceType = pieceType; pieceTypeNumber = pieceType.TypeNumber; condition = conditionDelegate;
 }