A set of classes for parsing, evaluating, and formatting die roll strings.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SA_DiceComparators.m 1.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. //
  2. // SA_DiceComparators.m
  3. // DieBot Mobile
  4. //
  5. // Created by Sandy Achmiz on 5/4/16.
  6. //
  7. //
  8. #import "SA_DiceComparators.h"
  9. #import "SA_DiceExpressionStringConstants.h"
  10. NSComparisonResult compareEvaluatedExpressionsByResult(NSDictionary* expression1, NSDictionary *expression2)
  11. {
  12. if([expression1[SA_DB_RESULT] integerValue] < [expression2[SA_DB_RESULT] integerValue])
  13. {
  14. return NSOrderedAscending;
  15. }
  16. else if([expression1[SA_DB_RESULT] integerValue] > [expression2[SA_DB_RESULT] integerValue])
  17. {
  18. return NSOrderedDescending;
  19. }
  20. else
  21. {
  22. return NSOrderedSame;
  23. }
  24. }
  25. NSComparisonResult compareEvaluatedExpressionsByAttemptBonus(NSDictionary* expression1, NSDictionary *expression2)
  26. {
  27. if([expression1[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue] < [expression2[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue])
  28. {
  29. return NSOrderedAscending;
  30. }
  31. else if([expression1[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue] > [expression2[SA_DB_OPERAND_RIGHT][SA_DB_RESULT] integerValue])
  32. {
  33. return NSOrderedDescending;
  34. }
  35. else
  36. {
  37. return NSOrderedSame;
  38. }
  39. }