Advertisement
Guest User

Untitled

a guest
Mar 3rd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 1.05 KB | None | 0 0
  1. abstract StatisticBestHand(Array<StatisticCard>) to Array<StatisticCard> {
  2.     private static inline var CARDS_DELIMETER:String = ",";
  3.     private static inline var HAND_CARDS_AMOUNT:Int = 5;
  4.  
  5.     public inline function new(bestHandRawValue:String) {
  6.         var _bestHand:Array<StatisticCard> = null;
  7.         if (bestHandRawValue != null && bestHandRawValue.length > 3) {
  8.             bestHandRawValue = bestHandRawValue.substring(2, bestHandRawValue.length - 1);
  9.             var cardsIds:Array<Int> = bestHandRawValue.split(CARDS_DELIMETER)
  10.                 .map(Std.parseInt)
  11.                 .filter(function(value:Null<Int>):Bool return value != null)
  12.                 .map(function(value:Null<Int>):Int return value);
  13.             if (cardsIds.length >= HAND_CARDS_AMOUNT) {
  14.                 var result:Array<StatisticCard> = [];
  15.                 for(i in 0...HAND_CARDS_AMOUNT) {
  16.                     result.push(new StatisticCard(cardsIds[i]));
  17.                 }
  18.                 _bestHand = result;
  19.             }
  20.         }
  21.  
  22.         this = _bestHand;
  23.     }
  24. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement