public bool CompareWithNumber(Field leftSideField, ComparisonSign comparisonSign, int comparedValue) { if (comparisonSign == ComparisonSign.Equal) { return(leftSideField.Piece.Number == comparedValue); } if (comparisonSign == ComparisonSign.NotEqual) { return(leftSideField.Piece.Number != comparedValue); } if (comparisonSign == ComparisonSign.Greater) { return(leftSideField.Piece.Number > comparedValue); } if (comparisonSign == ComparisonSign.GreaterEqual) { return(leftSideField.Piece.Number >= comparedValue); } if (comparisonSign == ComparisonSign.Lesser) { return(leftSideField.Piece.Number < comparedValue); } if (comparisonSign == ComparisonSign.LesserEqual) { return(leftSideField.Piece.Number <= comparedValue); } throw new ArgumentException(); }
public bool CompareWithBot(Field leftSideField, ComparisonSign comparisonSign) { if (IsRelationSign(comparisonSign)) { return(false); //how can we say left > bot? } if (comparisonSign == ComparisonSign.Equal) { return(leftSideField.Bot != null); } if (comparisonSign == ComparisonSign.NotEqual) { return(leftSideField.Bot == null); } throw new ArgumentException(); }
public bool CompareWithWall(Field leftSideField, ComparisonSign comparisonSign) { if (IsRelationSign(comparisonSign)) { return(false); //how can we say left > wall? } if (comparisonSign == ComparisonSign.Equal) { return(leftSideField.TileType == TileType.Wall); } if (comparisonSign == ComparisonSign.NotEqual) { return(leftSideField.TileType != TileType.Wall); } throw new ArgumentException(); }
public bool CompareWithItem(Field leftSideField, ComparisonSign comparisonSign) { if (IsRelationSign(comparisonSign)) { return(false); //how can we say left > item? } if (comparisonSign == ComparisonSign.Equal) { return(leftSideField.HasItem); } if (comparisonSign == ComparisonSign.NotEqual) { return(!leftSideField.HasItem); } throw new ArgumentException(); }
public bool CompareWithFloor(Field leftSideField, ComparisonSign comparisonSign) { if (IsRelationSign(comparisonSign)) { return(false); //how can we say left > nothing? } if (comparisonSign == ComparisonSign.Equal) { return(leftSideField.IsEmptyFloor); } if (comparisonSign == ComparisonSign.NotEqual) { return(!leftSideField.IsEmptyFloor); } throw new ArgumentException(); }
public bool CompareWithDirection(Field leftSideField, Field rightSideField, ComparisonSign comparisonSign) { throw new System.NotImplementedException(); }
public bool IsRelationSign(ComparisonSign comparisonSign) { return(!IsEqualitySign(comparisonSign)); }
public bool IsEqualitySign(ComparisonSign comparisonSign) { return(comparisonSign == ComparisonSign.Equal || comparisonSign == ComparisonSign.NotEqual); }