Als alternatief voor het traditionele Parental Control, ontwikkel je een programma
dat jongeren beloont met Gaming Tijd na het realiseren van een aantal activiteiten zoals bijvoorbeeld
“lezen van een boek”, “sporten”, … .

Klasse GamingTimer (5 punten)
Definieer een klasse GamingTimer die kan gebruikt worden voor het bijhouden van activteiten en bepalen van de speeltijd.

Specificaties
- De naam van je programmaklasse moet
GamingTimer
zijn.
- Je klasse bevat 4 instantievariabelen:
- Een array van Activiteit objecten activiteiten.
- Een integer aantalActiviteiten die bijhoudt hoeveel activiteiten er reeds werden toegevoegd.
- Een double beschikbareSpeeltijd.
- Een double gebruikteSpeeltijd
- Definieer een default constructor. Deze initialiseert de instantievariabele activiteiten met een array van 200 plaatsen en stelt de andere instantievariabelen gelijk aan 0.
- Definieer een non-void methode zoekActiviteit met als parameter een String (1 punt). Deze methode zal op basis van de meegegeven Activiteit id op zoek gaan naar
het overeenkomstige Activiteit object en dit vervolgens retourneren. Indien geen overeenkomstig Activiteit object wordt gevonden, retourneert de methode null.
- Definieer een non-void methode addActiviteit met als parameter een Activiteit object (1 punt). Deze methode voegt dit object toe aan de instantievariabele activiteiten en zal ook de beschikbareSpeeltijd aanpassen.
Indien er al reeds een activiteit met dezelfde Activiteit id bestond, retourneert de methode false. Indien object correct kon worden toegevoegd true.
- Definieer een non-void methode gebruikSpeeltijd (1 punt) met als parameter een double. Deze methode zal de gebruikte en beschikbare speeltijd aanpassen op basis van de meegegeven parameter. Indien er niet genoeg
speeltijd beschikbaar is, retourneert de methode false en worden er geen instantievariabelen aangepast. Indien beschikbareSpeeltijd en gebruikteSpeeltijd konden aangepast worden, retourneert de methode true.
- Specialiseer de toString methode. (1 punt) Deze methode zal een overzicht geven van de toegevoegde activiteiten, de beschikbare speeltijd en gebruikte speeltijd. Het overzicht moet er als volgt uitzien:
Activiteiten:
activiteit0: Lezen boek: 35.0
activiteit1: Werken in tuin: 45.0
activiteit2: Hockey training: 75.0
activiteit3: Tennis tornooi: 120.0
Gebruikte speeltijd: 120.0
Beschikbare speeltijd: 295.0
- Voeg een main methode dat het volgende testscenario implementeert (1 punt):
- Toevoegen activiteit ==> Lezen boek - 35.0 minuten
- Toevoegen activiteit ==> Werken in tuin - 45.0 minuten
- Gebruik speeltijd 40 minuten
- Weergeven overzicht in console
- Toevoegen sportactiviteit ==> Hockey training - 75.0 - Hockey
- Toevoegen sportactiviteit ==> Tennis tornooi: 120.0 - Tennis
- Gebruik speeltijd 80 minuten
- Weergeven overzicht in console
Opmerkingen en tips
- Het is niet toegelaten om extra instantievariabelen toe te voegen
- Hergebruik zoveel mogelijk methodes uit andere klassen.