Ga naar hoofdinhoud

3.4 Meer acties

Een vorm kopiëren met clone

Met clone() kun je een exacte kopie maken van een vorm. De kopie heeft dezelfde kleur, grootte en positie als het origineel.

import play

cirkel = play.new_circle(color='red', x=-100, radius=30)

kopie = cirkel.clone()
kopie.x = 100

Je hebt nu twee rode cirkels: het origineel links en de kopie rechts.

Opdracht 3.4.a: Kloonleger

info

In deze opdracht gebruik je @play.when_key_pressed (zie 4.1 Toetsenbord) en play.random_number (zie 3.3 Willekeurige waarden).

Maak een programma waarbij elke keer als je op spatie drukt, er een kopie van een cirkel wordt gemaakt op een willekeurige positie.

Klik hier voor een tip!

Gebruik clone() om een kopie te maken en verander daarna de x en y van de kopie met play.random_number().

Klik hier voor de oplossing!
import play

cirkel = play.new_circle(color='blue', radius=20)

@play.when_key_pressed("space")
def kloon():
kopie = cirkel.clone()
kopie.x = play.random_number(-350, 350)
kopie.y = play.random_number(-250, 250)

Het spel stoppen met stop_program

Met play.stop_program() kun je het spel beëindigen vanuit je code. Dit is handig voor een game-over scherm.

import play

play.new_text(words="Druk op Escape om te stoppen", font_size=30)

@play.when_key_pressed("escape")
def stop():
play.stop_program()

Opdracht 3.4.b: Game over

info

In deze opdracht gebruik je het global keyword. Ken je dat nog niet? Kijk dan bij 6.1 Een score bijhouden.

Maak een programma waarbij:

  1. Een score begint op 5
  2. Elke keer als je op spatie drukt, gaat de score met 1 omlaag
  3. Als de score op 0 staat, stopt het programma
Klik hier voor de oplossing!
import play

score = 5
tekst = play.new_text(words="Score: " + str(score), font_size=40)

@play.when_key_pressed("space")
def verminder():
global score
score = score - 1
tekst.words = "Score: " + str(score)
if score == 0:
play.stop_program()