Exercises in this lecture   Go to the notes, in which this exercise belongs -- Keyboard shortcut: 'u'   Alphabetic index   Course home      

Exercise 11.1
Klassen Kortbunke


I forlængelse af opgaven om Spillekort fra en tidligere lektion vil vi i denne opgave programmere en klasse Kortbunke, som repræsenterer en bunke af kort. En instans af denne klasse kan bruges til at repræsentere et komplet spil kort ligesom den kan bruges til at repræsentere de kort, en spiller har på hånden.

Ideen med opgaven er at benytte en Java Collection klasse som grundlaget for implementationen. Overvej hvilken, og overvej om en Kortbunke skal udvide/specialisere en Collection klasse, være klient af en Collection klasse, eller blot implementere et Collection interface.

Vi ønsker at at kunne repræsentere en bestemt ordning mellem kortene, således at vi f.eks. kan tale om det øverste kort og det nederste kort.

Følgende operationer skal være mulige på instanser af Kortbunke (hverken flere eller færre):

  • Fjern og returner øverste kort.
  • Læg et nyt kort oven på bunken.
  • Læg et nyt kort nederst i bunken.
  • Returner om bunken er tom
  • Bland bunken tilfældigt.
  • Sorter bunken i 'naturlig orden' (lad os sige ruder før hjerter før klør før spar).
  • Returner en Iterator, som gennemløber kortene i bunken.

Datarepræsentationen skal være privat i klassen.

Det vil være hensigtsmæssigt at have følgende udvalg af konstruktorer:

  • En konstruktor som laver et tomt kortspil.
  • En konstruktor som laver et spil kort med bestemte, givne kort.
  • En konstruktor som laver et komplet spil kort (med 52 kort).

Overvej hvorledes du ønsker at skelne mellem disse tre konstruktorer parametermæssigt.


Solution