Inleiding

Om ons eigen kaart spel te maken, hebben we eerst een definitie van een kaar model nodig.
Voor de standaard set van kaarten zijn er twee gegevens die iedere kaart definieren:
- Het symbool (suit) (of kleur): Harten, Ruiten, Schoppen en Klaveren
- De “waarde”: Aas, Twee, …, Tien, Boer, Vrouw Heer
Opdracht

Stap 1
Definieer een kaar klasse die twee Enum waarden gebruikt: Suit
and Value
.
- Zorg ervoor dat de equals methode correct werkt. (Unittest dit!)
- Voeg de mogelijkheid toe om een lijst met kaarten te sorteren.
Stap 2
Breid de enum definities uit met een representatie die je in je toString
methode gebruikt om jouw kaart te printen als 2 karakters:
- Two of Spades : “2S” (Schoppen 2)
- Ace of Clubs : “AC” (Klaver Aas)
- Ten of Hearts: “TH” (Harten Tien)
- Queen of Diamonds: “QD” (Ruiten Vrouw)
Stap 3
Voeg meer informatie toe aan jouw enums:
- Harten en Ruiten zijn “rode” kaarten, Klaveren en Schoppen zijn “zwart”.
- Bijna alle kaarten hebben een duidelijke waarde. Kies een logische waarde voor azen.
Stap 4
Wanneer je vijf willekeurige kaarten krijgt, stel van de poker waarde vast:
- Niks, anders dan een hoge kaart
- Twee dezelfde
- Twee keer twee dezelfde
- Drie dezelfde
- Drie dezelfde + Twee dezelfde (Full House)
- Vier dezelfde
- Flush (dezelfde suit)
- Straight (oplopende waarden, 2,3,4,5,6 or 8,9,10,J,Q)
- Royal Flush (combinatie van Flush en Straigh)
Bij dezelfde soort combinatie telt de combinatie van de hoogste kaart.
Als beide spelers twee vijven hebben, dan telt de hoogste kaart.
Dus “vier keer 2” verliest van “vier keer 3”, en een “straight” met 7 als hoogste kaart verliest van een straight met 8 als hoogste.
Varianten
Geen zin in een standaard kaartspel?
Gebruik anders
Kaarten hebben de volgende gegevens:
- Vorm: Circle, Box, Squiggle
- Aantal: 1, 2 or 3
- Kleur: Green, Red, Blue (in this case purple)
- Vulling: None, Solid, Half
Een combinatie van drie kaarten is een geldige set wanneer alle kaarten waarden hebben die verschillende OF gelijk zijn. In het plaatje:
- Links bovenin: Verschillend aantal, vorm en kleur, maar zelfde invulling.
- Rechts bovenin: Zelfde vorm en kleur, maar verschillend aantal en invulling.
- Links onderin: Zelfde aantal en vorm, maar verschillende kleur en invulling.
- Rechts onderin: Zelfde aantal, kleur and vulling, maar verschillende vormen.
- Voor de 3x3 kaarten: alle rijen en kolommen zijn sets.
Zelf kiezen
Kies een kaart spel dat je goed kent.
Definieer je datamodel.
Maak het modelijk om deel van het spel te spelen.
Ter inspiratie: https://adventofcode.com/2023/day/7