Задать вопрос
Antonoff
@Antonoff
Разработчик

Как реализовать three of a kind?

Написал на два метода, на нахождение одной пары карт и двух. Затрудняюсь как реализовать тройку / сет. Ниже два массима, которые по очереди я пихаю в методы.

[ '2D', '2H', '9S', '9C', 'KD' ]
[ '2C', '2H', '2S', '4C', 'AH' ]


function getOnePair(hand) {

    var cards = hand.slice().sort();
    var pairs = [];

    for(i = 0; i < hand.length - 1; i++) {
        if(cards[i + 1].charAt(0) == cards[i].charAt(0)) {
            pairs.push(cards[i].charAt(0));
            break;
        }
    }

    if(pairs.length > 0) {
        return pairs;
    } else {
        return "No pair cards found.";
    }

}

function getTwoPairs(hand) {

    var cards = hand.slice().sort();
    var pairs = [];

    for(i = 0; i < hand.length - 1; i++) {
        if(cards[i + 1].charAt(0) == cards[i].charAt(0)) {
            if(pairs.indexOf(cards[i].charAt(0)) == -1) {
                pairs.push(cards[i].charAt(0));
            }
        }
    }

    if(pairs.length > 1) {
        return pairs;
    } else {
        return "No two pair cards found.";
    }

}
  • Вопрос задан
  • 151 просмотр
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
Вы бы для проверки на количество сделали бы объект вида {тип_карты: количество_карт}, а по нему уже всё можно проверить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы