Je maakt een class ArcadeMachine waarmee spelkasten in een speelhal kunnen worden voorgesteld.
Werk de opdracht stap voor stap af. Onderaan maak je ook een hoofdprogramma waarin je de verschillende onderdelen gebruikt en test.
Maak een class ArcadeMachine.
Elke machine heeft vier gegevens:
spelnaamnummercreditshighscorespel en nummer zijn public.
credits en highscore zijn private.
Maak in je hoofdprogramma drie objecten. Kies zelf een spelnaam, nummer, startcredit en starthighscore. het nummer is een soort id en de startcredits zijn het aantal speelbeurten.
Alle machines staan in dezelfde speelhal. Gebruik hiervoor een classvariabele met de naam speelhal.
Bij de start mag je de waarde van de speelhal kiezen.
Maak twee methoden:
get_credits()
get_highscore()
Deze methoden geven respectievelijk het aantal credits en de highscore terug.
Maak een methode:
voeg_credits_toe(aantal)
Deze methode verhoogt het aantal credits met aantal.
Voorbeeld:
machine = ArcadeMachine("Astro Run", 4, 2, 3000)
machine.voeg_credits_toe(3)
print(machine.get_credits())
Uitvoer:
5
Maak een methode:
speel(score)
Wanneer iemand speelt:
score hoger is dan de huidige highscore, wordt de highscore aangepast;Voorbeeld:
machine = ArcadeMachine("Astro Run", 4, 2, 3000)
machine.speel(3500)
print(machine.get_credits())
print(machine.get_highscore())
Uitvoer:
1
3500
Zorg ervoor dat een machine rechtstreeks met print() kan worden afgedrukt.
Voorbeeld:
machine = ArcadeMachine("Astro Run", 4, 2, 3000)
print(machine)
De uitvoer moet exact zijn:
Astro Run | machine 4 | credits: 2 | highscore: 3000
Voor deze opdracht spreken we af dat twee machines gelijk zijn wanneer ze hetzelfde spel bevatten.
Het nummer, het aantal credits en de highscore spelen hierbij geen rol.
Voorbeeld:
machine1 = ArcadeMachine("Astro Run", 4, 2, 3000)
machine3 = ArcadeMachine("Astro Run", 18, 2, 3900)
print(machine1 == machine3)
Uitvoer:
True
Voor deze opdracht spreken we af dat een machine groter is dan een andere machine wanneer ze een hogere highscore heeft.
Voorbeeld:
print(machine1 > machine3)
Uitvoer:
False
Schrijf onder je class een hoofdprogramma.
Hier maak je de drie objecten machine1, machine2 en machine3 die bovenaan de opdracht zijn opgegeven.
Voer daarna in deze volgorde de volgende stappen uit maar zet ze in commentaar met # want anders werken de testen niet:
machine1, machine2 en machine3 rechtstreeks af.4 credits toe aan machine1 en druk daarna het aantal credits van machine1 af.machine1 spelen met score 5000.machine1 af.