Het spel bevat alleen nog maar een plank en een bal, maar geen blokken… Het wordt tijd om het eerste blok toe te voegen!

Schermafdruk van spelletje met basisstap 10 t/m 14.
4.1Stap 10: Teken een blok in het veld¶
Tips
- Bekijk “Stap 4. Teken de plank” als je er niet uitkomt.
4.2Stap 11: Detecteer als de bal het blok raakt¶
Tips
- Bekijk “Stap 7. Stuiter de bal tegen de plank” als je niet meer weet hoe je kunt zien dat twee voorwerpen elkaar raken.
- Python plakt teksten aan elkaar als je ze optelt. De functie
str
zet een getal om in een string. Deze functie heb je nodig, omdat Python getallen en strings niet automatisch bij elkaar optelt; je krijgt dan een foutmelding. - Meer informatie over het printen van tekst vind je op
https://www .freecodecamp .org /news /python -print -variable -how -to -print -a -string -and -variable/ - Je vraagt je misschien af hoe je het blok weghaalt. Dat leer je in “Stap 20, Haal een blok weg als de bal een blok raakt”.
4.3Stap 12: Stuiter de bal omhoog als hij het blok raakt¶
Tips
- Met
if ball_speed_y > 0 :
kun je kijken of de bal naar onder beweegt. - De bovenkant van de bal is
ball_y
. - De bovenkant van het blok is
brick_
y. maak snelheid_y omhoog
betekent dat snelheid_y een negatief getal (een getal kleiner dan 0) moet zijn. Gebruik daarvoor de functieabs()
. Kijk in stap 7 en stap 3 als je niet meer weet hoe jeabs()
kunt gebruiken- Kun je uitleggen waarom de code bij de tweede “als” kijkt of er een stukje bal buiten het blok zit, in plaats van te kijken of er een stukje bal binnen het blok zit?
4.4Stap 13: Stuiter de bal omlaag als hij het blok raakt¶
Tips
- Met
elif ball_speed_y < 0 :
kun je kijken of de bal naar boven beweegt. - De onderkant van de bal is
ball_y + BALL_HEIGHT
. - De onderkant van het blok is
brick_y + BRICK_HEIGHT
. maak snelheid_y omlaag
betekent dat snelheid_y een positief getal (een getal groter dan 0) moet zijn. Gebruik daarvoor de functieabs()
. Kijk in stap 7 en stap 3 als je niet meer weet hoe jeabs()
kunt gebruiken
4.5Stap 14: Stuiter de bal links of rechts als hij het blok raakt¶
Tips
- Kijk naar de vorige 2 stappen, kopieer de code en pas hem aan zodat hij voor x werkt in plaats van voor y.
maak snelheid_x
links betekent dat snelheid_x een negatief getal (een getal kleiner dan 0) moet zijn.maak snelheid_x rechts
betekent dat snelheid_x een postief getal (een getal groter dan 0) moet zijn. Gebruik daarvoor de functieabs()
. Kijk in de vorige stap als je niet meer weet hoe je deze functie gebruikt.- Er zijn andere pseudo-codes mogelijk die een bal die ergens tegenaan botst laten stuiteren. Kun jij er eentje bedenken? Wat zijn de voor- en nadelen ten opzichte van de code uit deze stap?