Een lattertornooi 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 random plaats op de ladder. De bedoeling 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.
Voeg aan het project de klasse LadderTornooi toe. Voor het testen van je methodes kan je gebruik maken van het txt-bestand teams.txt1.
Voeg aan de klasse LaderTornooi de volgende instantievariabelen toe (1 punt):
Voeg getter/accessor methodes toe voor de twee instantievariabelen.
Los financieros;Juan Lebrón Chincoa;Alejandro Galán Romo Ventaja;Carlos Daniel Gutiérrez;Fernando Belasteguín Chuchilla's;Pablo Lima;agustin Tapia Crabbelaer;Francisco Navarro;Martin Di Nenno Viboras;Franco Stupaczuk;Alejandro Ruiz Granados Nicoli;Maximiliano Sanchez;Luciano Capra M&M;Federico Chingotto;Juan Tello Grand Cru;Matias Diaz Sangiorgio;Augustin Gomez Silingo Malbecs;Javier Ruiz Gonzalez;Uri Botello Cohen Bandega;Juan Mieres Petruf;Alvaro Cepero Rodriguez
Voeg de methode startTornooi toe (1 punt). Deze methode zal het ladder tornooi starten door de teams instantievariabele door elkaar te schudden aan de hand van de static methode shuffle van de klasse Collection.
Voeg de methode getTeam toe (1 punt). Deze methode heeft als argument de naam van het team en retourneert het overeenkomstige Team object door te zoeken in de teams instantievariabele. Indien het team niet wordt gevonden wordt null geretourneerd.
Voeg de methode bepaalRangschikking toe (1 punt). Deze methode heeft als argument de naam van een team en retourneert de rangschikking van het team.
1: Los financieros{naamSpeler1='Juan Lebrón Chincoa', naamSpeler2='Alejandro Galán Romo'} 2: Ventaja{naamSpeler1='Carlos Daniel Gutiérrez', naamSpeler2='Fernando Belasteguín'} 3: Chuchilla's{naamSpeler1='Pablo Lima', naamSpeler2='agustin Tapia'} 4: Crabbelaer{naamSpeler1='Francisco Navarro', naamSpeler2='Martin Di Nenno'} 5: Viboras{naamSpeler1='Franco Stupaczuk', naamSpeler2='Alejandro Ruiz Granados'} 6: Nicoli{naamSpeler1='Maximiliano Sanchez', naamSpeler2='Luciano Capra'} 7: M&M{naamSpeler1='Federico Chingotto', naamSpeler2='Juan Tello'} 8: Grand Cru{naamSpeler1='Matias Diaz Sangiorgio', naamSpeler2='Augustin Gomez Silingo'} 9: Malbecs{naamSpeler1='Javier Ruiz Gonzalez', naamSpeler2='Uri Botello Cohen'} 10: Bandega{naamSpeler1='Juan Mieres Petruf', naamSpeler2='Alvaro Cepero Rodriguez'}
Voeg de methode uitdagenTeam toe (2 punten). Deze methode heeft twee String argumenen: uitdager en uitgedaagde. De methode zal eerst controleren of de uitdager lager gerangschikt staat dan de uitgedaagde en of de teams niet reeds werden uitgedaagd of uitgedaagd hebben. Indien aan de voorwaarden is voldaan, zal de methode aan het Team object dat overeenstemt de uitdager het uitgedaagde team object toevoegen via de methode setUitdaging Aan het team object dat overeenstemt met de uitgedaagde zal het uitdager object toegevoegd worden via dezelfde methode. Indien de uitdaging kon worden toegevoegd zal de methode true retourneren, anders false.
Voeg de methode swapPlaatsen toe (2 punten). Deze methode heeft twee String argumenten: winnaar en verliezer. De methode zal de teams die overeenkomen met winnaar en verliezen van plaats wisselen indien de rangschikking van de winnaar lager was dan die van de verliezer.
Voeg de methode verwijderUitdaging toe (2 punten). Deze methode heeft twee String argumenten: team1 en team2. De methode verwijdert voor deze teams de uitdaging door de teams op te zoeken en vervolgens via de methode setUitdaging de uitdaging instantievariabele van het team gelijk te stellen aan null.
Voeg de methode toevoegenWedstrijd toe (2 punten). Deze methode heeft twee String argumenten: winnaar en verliezer. De methode zal de wedstrijd toevoegen en de rangschikking aanpassen indien voor de overeenkomstige teams een uitdaging werd toegevoegd. Indien de wedstrijd kon worden toegevoegd wordt de uitdaging verwijderd en retourneert de methode true, indien de wedstrijd niet kon worden toegevoegd false.