ArcadeMachine

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.

1. Class en attributen

Maak een class ArcadeMachine.

Elke machine heeft vier gegevens:

spel 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.

2. Classvariabelen

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.

3. Private gegevens opvragen

Maak twee methoden:

get_credits()
get_highscore()

Deze methoden geven respectievelijk het aantal credits en de highscore terug.

4. Credits toevoegen

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

5. Een spel spelen

Maak een methode:

speel(score)

Wanneer iemand speelt:

Voorbeeld:

machine = ArcadeMachine("Astro Run", 4, 2, 3000)
machine.speel(3500)

print(machine.get_credits())
print(machine.get_highscore())

Uitvoer:

1
3500

6. Een machine afdrukken

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

7. Machines vergelijken met ==

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

8. Machines vergelijken met >

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

9. Hoofdprogramma

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:

  1. Druk de naam van de speelhal af via de class.
  2. Druk machine1, machine2 en machine3 rechtstreeks af.
  3. Voeg 4 credits toe aan machine1 en druk daarna het aantal credits van machine1 af.
  4. Laat machine1 spelen met score 5000.
  5. Druk daarna de credits en de highscore van machine1 af.
  6. Druk het resultaat af de vergelijking met == tussen machine 1 en machine 2.
  7. Druk het resultaat af de vergelijking met > tussen machine 1 en machine 3.
  8. Pas de classvariabele speelhal aan en verander de waarde naar “Game Zone”. Druk vervolgens af de waarde van de classvariabele af op het scherm.