From 8ef9920c622f0a6a68de1948bac3a486bf67610f Mon Sep 17 00:00:00 2001 From: Said Achmiz Date: Mon, 9 May 2016 22:05:46 -0400 Subject: [PATCH] Create some dice comparator functions (in SA_DiceComparators) --- SA_DiceComparators.h | 17 +++++++++++++++++ SA_DiceComparators.m | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 SA_DiceComparators.h create mode 100644 SA_DiceComparators.m diff --git a/SA_DiceComparators.h b/SA_DiceComparators.h new file mode 100644 index 0000000..8e8e0e9 --- /dev/null +++ b/SA_DiceComparators.h @@ -0,0 +1,17 @@ +// +// SA_DiceComparators.h +// DieBot Mobile +// +// Created by Sandy Achmiz on 5/4/16. +// +// + +#import + +#ifndef SA_DiceComparators_h +#define SA_DiceComparators_h + +NSComparisonResult compareEvaluatedExpressionsByResult(NSDictionary* expression1, NSDictionary *expression2); +NSComparisonResult compareEvaluatedExpressionsByAttemptBonus(NSDictionary* expression1, NSDictionary *expression2); + +#endif /* SA_DiceComparators_h */ \ No newline at end of file diff --git a/SA_DiceComparators.m b/SA_DiceComparators.m new file mode 100644 index 0000000..1e617fb --- /dev/null +++ b/SA_DiceComparators.m @@ -0,0 +1,43 @@ +// +// SA_DiceComparators.m +// DieBot Mobile +// +// Created by Sandy Achmiz on 5/4/16. +// +// + +#import "SA_DiceComparators.h" + +#import "SA_DiceExpressionStringConstants.h" + +NSComparisonResult compareEvaluatedExpressionsByResult(NSDictionary* expression1, NSDictionary *expression2) +{ + if([expression1[SA_DB_RESULT] integerValue] < [expression2[SA_DB_RESULT] integerValue]) + { + return NSOrderedAscending; + } + else if([expression1[SA_DB_RESULT] integerValue] > [expression2[SA_DB_RESULT] integerValue]) + { + return NSOrderedDescending; + } + else + { + return NSOrderedSame; + } +} + +NSComparisonResult compareEvaluatedExpressionsByAttemptBonus(NSDictionary* expression1, NSDictionary *expression2) +{ + if([expression1[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue] < [expression2[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue]) + { + return NSOrderedAscending; + } + else if([expression1[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue] > [expression2[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue]) + { + return NSOrderedDescending; + } + else + { + return NSOrderedSame; + } +}