Jaar 2 - Module 1 - Les 3: Beweging
Het thema van dit jaar is PyGame
In de simulatie van dit blok ga jij een dier kiezen en een bijbehorend voedsel.
Je dier laten bewegen
Zorgen dat het netjes in het veld blijft
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
Ook in PyGame kun jij je dier laten bewegen.
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
Ook in PyGame kun jij je dier laten bewegen.
Bewegen doen we met een lijst met twee getallen:
snelheid = [1, 0]
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
Ook in PyGame kun jij je dier laten bewegen.
Bewegen doen we met een lijst met twee getallen:
snelheid = [1, 0]
Het eerste getal geeft aan hoeveel het dier naar rechts beweegt. Dat is hier 1 stapje.
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
Ook in PyGame kun jij je dier laten bewegen.
Bewegen doen we met een lijst met twee getallen:
snelheid = [1, 0]
Het tweede getal geeft aan hoeveel het dier naar beneden beweegt. Dat is hier 0 stapjes.
snelheid = [1, 0]
while dier_leeft:
#teken de plaatjes
print(f'ik heb zoveel honger: {honger}')
honger = honger + 0.1
if honger > 100:
dier_leeft = False
#code voor muiskliks
#maak de schildpad de nieuwe grootte
#beweeg de schildpad
schildpad_rechthoek = schildpad_rechthoek.move(snelheid)
time.sleep(0.1)
print('Helaas, je schildpad is overleden')
Voor de lus stellen we de snelheid in
snelheid = [1, 0]
while dier_leeft:
#teken de plaatjes
print(f'ik heb zoveel honger: {honger}')
honger = honger + 0.1
if honger > 100:
dier_leeft = False
#code voor muiskliks
#maak de schildpad de nieuwe grootte
#beweeg de schildpad
schildpad_rechthoek = schildpad_rechthoek.move(snelheid)
time.sleep(0.1)
print('Helaas, je schildpad is overleden')
In de lus bewegen we de rechthoek met de snelheid
Het lopen werkt goed, maar... na een tijdje loopt je dier uit beeld.
Het dier zou moeten omdraaien als de rechterkant bij 600 is.
Dat komt omdat het beeld 600 breed is. Bovenaan staat immers:
breedte = 600
We kunnen het dier zo laten 'stuiteren':
Als de rechthoek met zijn rechterkant tegen de rechterkant van het veld komt
if muis_rechthoek.right > 600:
#draai om
snelheid[0] = -snelheid[0]
Het dier zou moeten omdraaien als de rechterkant bij 600 is.
Dat komt omdat het beeld 600 breed is. Bovenaan staat immers:
breedte = 600
We kunnen het dier zo laten 'stuiteren':
if muis_rechthoek.right > 600:
#draai om
snelheid[0] = -snelheid[0]
Dan veranderen we de snelheid in het tegenovergestelde met een -
Het dier zou moeten omdraaien als de rechterkant bij 600 is.
Dat komt omdat het beeld 600 breed is. Bovenaan staat immers:
breedte = 600
Het eerste getal in de lijst betekent dat we de links-recht snelheid aanpassen.
We kunnen het dier zo laten 'stuiteren':
if muis_rechthoek.right > 600:
#draai om
snelheid[0] = -snelheid[0]
Het dier zou moeten omdraaien als de rechterkant bij 600 is.
Dat komt omdat het beeld 600 breed is. Bovenaan staat immers:
breedte = 600
Zo ziet het eruit in jouw programma:
snelheid = [1, 0]
while dier_leeft:
#alle andere codes hier
#beweeg de schildpad
schildpad_rechthoek = schildpad_rechthoek.move(snelheid)
if schildpad_rechthoek.right > 600:
snelheid[0] = -snelheid[0]
time.sleep(0.1)
print('Helaas, je schildpad is overleden')
Als het dier de rand raakt
Zo ziet het eruit in jouw programma:
Maak de snelheid dan negatief
snelheid = [1, 0]
while dier_leeft:
#alle andere codes hier
#beweeg de schildpad
schildpad_rechthoek = schildpad_rechthoek.move(snelheid)
if schildpad_rechthoek.right > 600:
snelheid[0] = -snelheid[0]
time.sleep(0.1)
print('Helaas, je schildpad is overleden')
Zo ziet het eruit in jouw programma:
Let erop dat je twee keer inspringt!
snelheid = [1, 0]
while dier_leeft:
#alle andere codes hier
#beweeg de schildpad
schildpad_rechthoek = schildpad_rechthoek.move(snelheid)
if schildpad_rechthoek.right > 600:
snelheid[0] = -snelheid[0]
time.sleep(0.1)
print('Helaas, je schildpad is overleden')