...
CardDeck-objekter inneholder initielt et visst antall kort av de fire kortfargene kortfargene 'S', 'H', 'D' og 'C'. Klassen inneholder standardmetoder for å lese hvor mange og hvilke kort, og en metoder metode for å endre tilstand.
Konstruktør:
...
- getCardCount() - returnerer hvor mange Card-objekter som CardDeck-objektet inneholder.
- getCard(int n) - returnerer kort nr. n eller utløser et IllegalArgumentException hvis n ikke er gyldig. Kort nr 0 er det første kortet i kortstokken.
Endringsmetode:
- 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).
Exercise-panelet
Bruk av Exercise-panelet er obligatorisk for denne øvingen. Du må ha panelet åpent med NimCard.ex-filen (tests > encapsulation > NimCard.ex) i før du begynner med øvingenoppgaven. For mer informasjon/hjelp, se nederst på forrige side, altså hovedsiden for Øving 23.
...
Oppgave: 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 CardDeck.fxml som FXML Application) og observer hva som skjer. Åpne CardDeckController.java og finn ut hvor CardDeck-klassen din blir brukt, og kommenter hva som skjer med den. Det er ikke et krav at du forstår resten av koden i CardDeckController, du skal kun forklare hvordan klassen din blir brukt.
Testkode for denne oppgaven finner du her: encapsulation/CardDeckTest.java og her: encapsulation/CardTest.java
Originalkoden (jextest) for testene finner du her: encapsulation/Card.jextest og her: encapsulation/CardDeck.jextestHjelp til kjøring av JavaFX og generelt om øvinger finner du i Hjelp til øvinger.
Include Page | ||||
---|---|---|---|---|
|
...