getCardsForFlush method

List<Card> getCardsForFlush(
  1. String suit,
  2. bool setRanks
)

Implementation

List<Card> getCardsForFlush(String suit, bool setRanks) {
  var cards = (suits[suit] ?? []).toList()..sort(Card.sort);

  for (var wild in wilds) {
    if (setRanks) {
      var j = 0;
      while (j < values.length && j < cards.length) {
        if (cards[j].rank == values.length - 1 - j) {
          j += 1;
        } else {
          break;
        }
      }
      wild.rank = values.length - 1 - j;
      wild.wildValue = kValues[wild.rank];
    }

    cards.add(wild);
    cards.sort(Card.sort);
  }

  return cards;
}