marcinmoskala
08/02/2018, 4:10 PMthomasnield
08/02/2018, 4:33 PMmarcinmoskala
08/02/2018, 8:14 PMthomasnield
08/03/2018, 2:33 AMcedric
08/06/2018, 6:49 PMval blackjack get() = cards.size == 2 && points == 21
points
should have multiple potential values depending on the number of acescards.sum()
should return multiple valuesmarcinmoskala
08/06/2018, 7:11 PMclass Hand private constructor(val cards: List<Int>) {
val points = cards.sum()
val unusedAces = cards.count { it == 11 }
val canSplit = cards.size == 2 && cards[0] == cards[1]
val blackjack get() = cards.size == 2 && points == 21
operator fun plus(card: Int) = Hand.fromCards(cards + card)
companion object {
fun fromCards(cards: List<Int>): Hand {
var hand = Hand(cards)
while (hand.unusedAces >= 1 && hand.points > 21) {
hand = Hand(hand.cards - 11 + 1)
}
return hand
}
}
}
cedric
08/07/2018, 11:43 PMmarcinmoskala
08/08/2018, 9:38 AM