added cmd playing mode

This commit is contained in:
2024-07-22 16:41:41 +02:00
parent 05300c1153
commit 27f04ec085
7 changed files with 18 additions and 3 deletions

View File

@@ -1,5 +1,7 @@
package de.heiserer package de.heiserer
import card.CardList
import card.CardToolkit
import de.heiserer.cards.* import de.heiserer.cards.*
import de.heiserer.player.Player import de.heiserer.player.Player

View File

@@ -1,4 +1,8 @@
package de.heiserer.cards package card
import de.heiserer.cards.Card
import de.heiserer.cards.GameType
import de.heiserer.cards.SortedCardList
interface CardList { interface CardList {
fun add(card: Card) fun add(card: Card)

View File

@@ -1,9 +1,13 @@
package de.heiserer.cards package card
import de.heiserer.cards.Card
import de.heiserer.cards.GameType
import de.heiserer.cards.UnsortedCardList
class CardToolkit private constructor(private val gameType: GameType) { class CardToolkit private constructor(private val gameType: GameType) {
private val sortedCardList = UnsortedCardList(true).asSortedCardList(gameType) private val sortedCardList = UnsortedCardList(true).asSortedCardList(gameType)
fun isTrumpf(card: Card): Boolean = card in sortedCardList.getTrumpf().getCopyOfCards() fun isTrumpf(card: Card): Boolean = card in sortedCardList.getTrumpf()
fun whoTricks(cards: CardList): Int { fun whoTricks(cards: CardList): Int {
if(cards.size() != 4){ if(cards.size() != 4){

View File

@@ -1,5 +1,7 @@
package de.heiserer.cards package de.heiserer.cards
import card.CardList
open class UnsortedCardList(withAllCards: Boolean = false): CardList { open class UnsortedCardList(withAllCards: Boolean = false): CardList {
private val cards: MutableList<Card> = if(withAllCards){ private val cards: MutableList<Card> = if(withAllCards){
enumValues<Card>().toMutableList() enumValues<Card>().toMutableList()

View File

@@ -1,5 +1,6 @@
package de.heiserer.player package de.heiserer.player
import card.CardToolkit
import de.heiserer.cards.* import de.heiserer.cards.*
class NPCPlayer(name: String) : Player(name){ class NPCPlayer(name: String) : Player(name){

View File

@@ -1,5 +1,6 @@
package de.heiserer.player package de.heiserer.player
import card.CardToolkit
import de.heiserer.cards.* import de.heiserer.cards.*
abstract class Player(private var name: String){ abstract class Player(private var name: String){

View File

@@ -1,3 +1,4 @@
import card.CardToolkit
import de.heiserer.cards.* import de.heiserer.cards.*
import org.junit.jupiter.api.Assertions.assertEquals import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Test import org.junit.jupiter.api.Test