3. Extra oefening: Flying ball#
Deze opdracht gaat over het reageren op muisklikken en het werken met snelheid.
Sprites#
Download de volgende sprite:
Mappenstructuur#
Maak voor deze oefening in je games map een nieuwe map met de naam flying_ball. Maak in Mu editor een nieuw bestand en sla het op in je flying_ball map onder de naam flying_ball.py. Plaats de gedownloade sprite in de images map in de flying_ball map.
Starter code#
Begin met de volgende code in flying_ball.py:
1import random
2
3# Vensterinstellingen
4WIDTH = 640
5HEIGHT = 480
6TITLE = 'Flying ball'
7
8# Actors
9ball = Actor('ball_purple')
10
11# Startpositie en snelheid
12ball.right = 0
13ball.y = random.randint(50, HEIGHT-50)
14ball.speed = 6
15
16# Functie draw()
17def draw():
18 screen.fill('aquamarine2')
19 ball.draw()
20
21# Functie update()
22def update():
23 ball.x += ball.speed
24 if ball.left > WIDTH:
25 ball.right = 0
26 ball.y = random.randint(50, HEIGHT-50)
Bekijk de code goed. Probeer van elke regel de betekenis te begrijpen.
Opdracht#
Breid de code uit met de volgende functionaliteit:
Als je met de linkermuisknop op de bal klikt, moet die in tegengestelde richting gaan bewegen. Dus als de bal naar rechts beweegt, moet hij na een muisklik naar links bewegen en vice versa.
Als de bal aan de linkerkant uit het venster verdwijnt, moet hij aan de rechterkant weer verschijnen.
Extra uitdaging:
Als je met de rechtermuisknop op de bal klikt, moet de snelheid van de bal verdubbelen. Als je nogmaals met rechts op de bal klikt, moet de snelheid weer halveren.