Sprint 6 Β· De blauwdruk  Β·  US1: Het losse-variabelen-probleem

Als developer, wil ik gegevens die bij elkaar horen in één blauwdruk vastleggen in plaats van in steeds meer losse variabelen, zodat ik een derde of vierde ding kan toevoegen zonder dat mijn code dichtslibt met losse namen die ik zelf uit elkaar moet houden.

Taak 1: Losse variabelen lopen uit de hand

Je houdt data bij van twee dingen tegelijk met losse variabelen. Dat lijkt te werken β€” tot er een derde bijkomt. Dan zie je waarom Python classes heeft: één blauwdruk, in plaats van tientallen losse variabelen die je met de hand uit elkaar houdt.

EΓ©n ding, drie variabelen β€” en dat groeit

Stel je houdt in een spel de gegevens van een hond bij: zijn naam, zijn energie en zijn aantal trucjes. Met losse variabelen doe je dat zo:

dog1_name = "Rex"
dog1_energy = 100
dog1_tricks = 3

Komt er een tweede hond bij, dan kopieer je het blok en verander je het cijfer:

dog2_name = "Bella"
dog2_energy = 100
dog2_tricks = 0

Bij twee honden lijkt dit prima. Maar de gegevens die bij elkaar horen β€” alles van hond 1 β€” zitten niet echt aan elkaar vast. Python ziet zes losse variabelen zonder verband. Jij houdt het verband in je hoofd, en dat is precies het probleem.

De pijn zit in de derde.
Voeg een hond toe en je hebt er ineens negen variabelen. Bij tien honden dertig. EΓ©n typefout β€” hond2_energie waar je hond3_energie bedoelde β€” en je verlaagt de energie van de verkeerde hond. Niks crasht. Het gaat gewoon stil fout.

Zie het exploderen

Klik op Voeg hond toe en kijk hoe snel de berg variabelen groeit. Elke hond heeft er drie nodig, en jij moet ze allemaal uit elkaar houden.

2 honden Β· 6 losse variabelen
De fix (volgende taken): je schrijft één keer een blauwdruk β€” een class β€” die zegt "een hond heeft een naam, energie en trucjes". Daarna maak je er zoveel honden uit als je wilt, elk met eigen data, zΓ³nder één variabele te kopiΓ«ren.
>>> Oefenomgeving: Python REPL Simulator

Voel het probleem zelf. Maak losse variabelen aan en probeer dan "heel hond 1" in één keer op te vragen β€” dat lukt niet, want er is geen verband.

  1. dog1_name = "Rex"
  2. dog1_energy = 100
  3. dog1_name β€” vraag de losse variabele op.
  4. dog1 β€” probeer "de hele hond" op te vragen. Wat gebeurt er?
  5. dog1_energy = dog1_energy - 10 β€” verlaag de energie.
Python 3.11 REPL Simulator Β· typ een commando en druk op Enter.
>>> 
🧩

Jouw opdracht: voel het losse-variabelen-probleem

Je bouwt de administratie van een klein toernooi met spelers. Elke speler heeft een naam, een aantal levens en een score. Doe dit bewust nog met losse variabelen β€” zodat je aan den lijve voelt waarom het niet schaalt.

  1. Maak met losse variabelen drie spelers aan (name, lives, score elk apart).
  2. Laat speler 1 tien punten scoren: pas alléén zijn score aan.
  3. Laat speler 2 een leven verliezen.
  4. Print van elke speler een regel: name β€” lives β€” score.
  5. Schrijf in commentaar op hoeveel variabelen je nu beheert, en wat er misgaat als er een vierde speler bijkomt.

Acceptatiecriteria

  • Er zijn drie spelers, elk met eigen losse variabelen voor name, lives en score.
  • Je past de score van precies één speler aan zonder de andere te raken.
  • Het script print per speler een nette regel met name, lives en score.
  • In commentaar benoem je het aantal variabelen Γ©n waarom een vierde speler het probleem vergroot.