Denne oppgaven handler om to klasser for kortspill: Card (kort) og CardDeck (kortstokk), der den siste inneholder ett eller flere Card-objekter.
...
- deal(CardHand, int n) - flytter n kort fra kortstokken (CardDeck-objektet) til korthånda (CardHand-objektet, som er første argument), ved å ta ett og ett kort med høyeste gyldige indeks, fjerne det fra CardDeck-objektet og legge det til CardHand-objektet
- shufflePerfectly() - stokker kortstokken ved å dele den i to like store deler og flette de to delene perfekt, slik at kortet på toppen forblir på toppen og kortet på bunnen forblir på bunnen (se http://en.wikipedia.org/wiki/Out_shuffle)
Del 1: Java-kode
Skriv Card- og CardDeck-klassene, slik at de har ønsket oppførsel og er skikkelig innkapslet.
Del 2: JavaFX
Kjør den tilhørende JavaFX-applikasjonen (kjør Nim.fxml som FXML Application) og observer hva som skjer. Åpne NimController.java og finn ut hvor Nim-klassen din blir brukt, og kommenter hva som skjer med den. Det er ikke et krav at du forstår resten av koden i NimController, du skal kun forklare hvordan klassen din blir brukt.
Hjelp til kjøring av JavaFX og generelt om øvinger finner du i Hjelp til øvinger.