andyb
12/22/2020, 8:33 AMandyb
12/22/2020, 8:35 AMFredrik Rødland
12/22/2020, 12:51 PMtrue
as recurse
when called recursive (line 25 in your code above)Fredrik Rødland
12/22/2020, 12:51 PMFredrik Rødland
12/22/2020, 12:51 PMFredrik Rødland
12/22/2020, 12:52 PMandyb
12/22/2020, 1:11 PMFredrik Rødland
12/22/2020, 3:06 PMplayGame(hand1.take(player1), hand2.take(player2))
instead of playGame(hand1.take(player1), hand2.take(player2), true)
in line 25 of your code.andyb
12/22/2020, 3:10 PMval player1Wins = when {
(recurse && player1 <= hand1.size && player2 <= hand2.size) -> playGame(hand1.take(player1), hand2.take(player2)).first
else -> player1 > player2
}
Fredrik Rødland
12/22/2020, 3:11 PMFredrik Rødland
12/22/2020, 3:11 PMandyb
12/22/2020, 3:11 PMFredrik Rødland
12/22/2020, 3:13 PMandyb
12/22/2020, 3:13 PMFredrik Rødland
12/22/2020, 3:14 PMFredrik Rødland
12/22/2020, 3:14 PMFredrik Rødland
12/22/2020, 3:14 PMFredrik Rødland
12/22/2020, 3:15 PMFredrik Rødland
12/22/2020, 3:15 PMandyb
12/22/2020, 3:17 PMFredrik Rødland
12/22/2020, 3:17 PMNir
12/22/2020, 3:18 PMandyb
12/22/2020, 3:18 PMNir
12/22/2020, 3:19 PMNir
12/22/2020, 3:19 PMandyb
12/22/2020, 3:20 PMNir
12/22/2020, 3:20 PMFredrik Rødland
12/22/2020, 3:25 PMseen
andyb
12/22/2020, 3:27 PMFredrik Rødland
12/22/2020, 3:27 PMFredrik Rødland
12/22/2020, 3:28 PMandyb
12/22/2020, 3:28 PMFredrik Rødland
12/22/2020, 3:29 PMBefore *either* player ... same players' decks ...
Fredrik Rødland
12/22/2020, 3:29 PMFredrik Rødland
12/22/2020, 3:29 PMFredrik Rødland
12/22/2020, 3:31 PMandyb
12/22/2020, 3:33 PMFredrik Rødland
12/22/2020, 3:35 PMFredrik Rødland
12/22/2020, 3:36 PMandyb
12/22/2020, 3:38 PMsame players' decks
Fredrik Rødland
12/22/2020, 3:41 PMFredrik Rødland
12/22/2020, 3:41 PMNir
12/22/2020, 3:44 PMNir
12/22/2020, 3:44 PMNir
12/22/2020, 3:44 PMNir
12/22/2020, 3:45 PMtodd.ginsberg
12/22/2020, 5:00 PMtodd.ginsberg
12/22/2020, 7:48 PMPaul Martin
12/22/2020, 8:38 PMPaul Martin
12/22/2020, 8:46 PMPaul Martin
12/22/2020, 8:47 PMNir
12/22/2020, 8:56 PMFredrik Rødland
12/22/2020, 9:33 PMFredrik Rødland
12/22/2020, 9:34 PMtrue
for recursionFredrik Rødland
12/22/2020, 9:49 PMNir
12/22/2020, 10:03 PMNir
12/22/2020, 10:03 PMNir
12/22/2020, 10:04 PMNir
12/22/2020, 10:05 PMif (Pair(player1, player2) in seen) return player1 to true
seen += Pair(Deck(player1), Deck(player2))
val player1Won = if (player1.first() < player1.size && player2.first() < player2.size) {
recursiveCombat(
Deck(player1.subList(1, 1 + player1.first().toInt())),
Deck(player2.subList(1, 1 + player2.first().toInt()))
).second
} else player1.first() > player2.first()
val (winDeck, loseDeck) = if (player1Won) player1 to player2 else player2 to player1
winDeck.addLast(winDeck.removeFirst())
winDeck.addLast(loseDeck.removeFirst())
Nir
12/22/2020, 10:05 PMNir
12/22/2020, 10:05 PMNir
12/22/2020, 10:06 PMNir
12/22/2020, 10:06 PMNir
12/22/2020, 10:07 PMephemient
12/23/2020, 11:24 AMPaul Martin
12/24/2020, 11:34 AMbjonnh
12/26/2020, 5:42 AMbjonnh
12/26/2020, 5:43 AMbjonnh
12/26/2020, 5:43 AMbjonnh
12/26/2020, 5:44 AMtodd.ginsberg
12/26/2020, 12:59 PMGame doesn't care who wins, but I'm going for the crabNow we know where your loyalties are... đŚ
ephemient
12/26/2020, 1:01 PMephemient
12/26/2020, 1:01 PMephemient
12/26/2020, 1:05 PMephemient
12/26/2020, 2:35 PM