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