programmeren
in python
Jaar 2 - Module 1 - Les 3: Beweging
Het thema van dit jaar is PyGame
thema jaar 2: Pygame
simulatie
In de simulatie van dit blok ga jij een dier kiezen en een bijbehorend voedsel.
vandaag gaan we leren
-
Je dier laten bewegen
-
Zorgen dat het netjes in het veld blijft
Bewegen
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
Bewegen
In de natuur beweegt een dier natuurlijk, op zoek naar voedsel.
Ook in PyGame kun jij je dier laten bewegen.
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]
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]
Het eerste getal geeft aan hoeveel het dier naar rechts beweegt. Dat is hier 1 stapje.
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]
Het tweede getal geeft aan hoeveel het dier naar beneden beweegt. Dat is hier 0 stapjes.
Bewegen
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
Bewegen
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
demo
Stuiteren
Het lopen werkt goed, maar... na een tijdje loopt je dier uit beeld.
demo
Stuiteren
Het dier zou moeten omdraaien als de rechterkant bij 600 is.
Dat komt omdat het beeld 600 breed is. Bovenaan staat immers:
breedte = 600
Stuiteren
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
Stuiteren
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
Stuiteren
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
Stuiteren
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
demo
Stuiteren
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')
Stuiteren
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')
zodadelijk op de computer...
opdrachten deel b
opdrachten deel b
opdrachten deel b
opdrachten deel b
opdrachten deel b
opdrachten deel b
Python Klas 2 - Module 2 - Les 3
By Felienne
Python Klas 2 - Module 2 - Les 3
Leerdoel Module: PyGame gebruiken om een simulatie te maken Lesdoel: Plaatje bewegen
- 712