Пример #1
0
  public static long eval(CardSet cs) {
    final long enc = HandEvaluator.encode(cs);
    int val = 0;

    switch (cs.size()) {
      case 2:
        final int r0 = cs.get(0).getRank().ordinal();
        final int r1 = cs.get(1).getRank().ordinal();
        final int s0 = cs.get(0).getSuit().ordinal();
        final int s1 = cs.get(1).getSuit().ordinal();
        if (r0 == r1) {
          val = 1 << 9;
        }
        val |= Math.max(r0, r1) << 5;
        val |= Math.min(r0, r1) << 1;
        if (s0 == s1) {
          val |= 1;
        }
        break;

      case 5:
        val = HandEvaluator.hand5Eval(enc);
        break;

      case 6:
        val = HandEvaluator.hand6Eval(enc);
        break;

      case 7:
        val = HandEvaluator.hand7Eval(enc);
        break;
    }

    return val;
  }