Een laddertornooi is een club kampioenschap voor tennis of padelclubs waarbij men
zich als team (2 spelers) kan inschrijven. Bij de start begint elk team op een
plaats die afhangt van de individuele punten van de spelers. Het doel is dat
je op het einde bovenaan de ladder staat door teams die boven jou op de ladder
staan uit te dagen. Als team kan je steeds slechts 1 ander team uitdagen. Een
team dat reeds is uitgedaagd of ander team heeft uitgedaagd, kan niet meer
uitgedaagd worden of uitdagen. Indien de uitdager wint, neemt men de plaats van
de uitgedaagde in op de ladder en zakt de uitgedaagde naar de plaats van de uitdager.
Gegeven:: de klassen Speler en LadderException
Gevraagd: maak een klasse Laddertornooi
Instantievariabelen (2 punten)
De klasse Laddertornooi heeft de volgende instantievariabelen:
- De instantievariabele spelers bevat een collectie van Speler objecten. Deze collectie
houdt alle spelers bij van de club en bevat geen dubbels.
- De instantievariabele teams bevat een collectie van Team objecten. Deze collectie bevat
alle teams die meedoen aan de ladder.
- De instantievariabele ranking bevat een collectie van Team objecten. De collectie moet
moet het mogelijk maken om de objecten in een bepaalde volgorde op te slaan dus dat ze een index
hebben. De index wordt gebruikt voor de ranking van het team in de ladder.
- De instantievariabele uitdagingen bevat een collectie van Uitdaging objecten. De uitdaging klasse
moet als inner class worden gedefinieerd in de LadderTornooi klasse en bevat twee Team instantievariabelen:
uitdager en uitgedaagde.
enum (1 punt)
Voeg aan de klasse een enum Resultaat toe met drie mogelijke waarden: gewonnen, verloren en gelijk.
(1 punt)
Private Methodes (4 punten)
Voeg een aantal private methodes die worden gebruikt door de publieke methodes:
- De private methode getSpeler met parameter een speler login retourneert de speler
met de opgegeven login. Indien de speler niet wordt gevonden wordt null geretourneerd.
(1 punt)
- De private methode getTeamSpeler met als parameter een speler login retourneert een
het team van de speler met de opgegeven login. Indien er geen team werd gevonden, retourneert
de methode null.
(1 punt)
- De private methode getTeam met parameter een team id login retourneert het team
met de opgegeven id. Indien het team niet wordt gevonden wordt null geretourneerd.
(1 punt)
- De private methode getUitdagingTeam met parameter een team id login retourneert het
de uitdaging waarbij het team met opgegeven id betrokken is. Indien er geen uitdaging wordt
gevonden wordt null geretourneerd.
(1 punt)
Public methodes (10 punten)