Playing cards: Difference between revisions

Content added Content deleted
(→‎{{header|Kotlin}}: class version)
m (→‎Kotlin/object-oriented: private companion)
Line 3,364: Line 3,364:
=== object-oriented ===
=== object-oriented ===
<lang scala>class Deck : ArrayList<String> {
<lang scala>class Deck : ArrayList<String> {
constructor() {
constructor() { FACES.forEach { face -> SUITS.forEach { add("$face$it") } } }
constructor(c: Collection<String>) { addAll(c) }
FACES.forEach { SUITS.forEach { suit -> add("$it$suit") } }
}

constructor(c: Collection<String>) {
addAll(c)
}


fun dealTop(n: Int) = Deck(take(n))
fun dealTop(n: Int) = Deck(take(n))
Line 3,382: Line 3,377:
}
}


companion object {
private companion object {
const val FACES = "23456789TJQKA"
const val FACES = "23456789TJQKA"
const val SUITS = "shdc"
const val SUITS = "shdc"