3.4 Meer acties
- 3.1 Wat is een actie? - methodes aanroepen op een vorm
- 4.1 Gebeurtenissen - sommige opdrachten gebruiken
@play.when_key_pressed
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.
Je hebt nu twee rode cirkels: het origineel links en de kopie rechts.
Opdracht 3.4.a: Pas de kopie aan
Pas de code hierboven aan zodat er drie cirkels op het scherm staan: het origineel in het midden, een kopie links, en een kopie rechts. Geef de kopieën een andere kleur dan het origineel.
Klik hier voor een tip.
Je kunt meerdere keren clone() aanroepen, en daarna kopie.color = '...' instellen.
Klik hier voor de oplossing.
Opdracht 3.4.b: Kloonleger
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.
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.
Opdracht 3.4.c: Game over
In deze opdracht gebruik je het global keyword. Ken je dat nog niet? Kijk dan bij 4.5 Een score bijhouden.
Maak een programma waarbij:
- Een score begint op 5
- Elke keer als je op spatie drukt, gaat de score met 1 omlaag
- Als de score op 0 staat, stopt het programma
Klik hier voor de oplossing.
Een vorm verbergen en weer tonen
Met hide() en show() kun je een vorm onzichtbaar en weer zichtbaar maken:
hide()maakt een vorm onzichtbaar (maar hij bestaat nog wel)show()maakt een verborgen vorm weer zichtbaar
Opdracht 3.4.d: Verstoppertje
Maak een programma met een cirkel die verdwijnt als je op 'h' drukt en weer verschijnt als je op 's' drukt.
Klik hier voor een tip.
Gebruik cirkel.hide() en cirkel.show().
Klik hier voor de oplossing.
Een vorm verwijderen met remove
Met remove() kun je een vorm definitief verwijderen. Anders dan hide() kun je de vorm niet meer terughalen met show().
Opdracht 3.4.e: Eén voor één verdwijnen
In deze opdracht gebruik je het global keyword. Ken je dat nog niet? Kijk dan bij 4.5 Een score bijhouden.
Maak een programma met 3 cirkels op verschillende posities. Elke keer als je op spatie drukt, verdwijnt er eentje (met remove()). Na 3 keer drukken zijn ze allemaal weg.
Klik hier voor een tip.
Zet de cirkels in een lijst. Gebruik een teller die bijhoudt hoeveel er al verwijderd zijn.