<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sessie 3: Space Blaster :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/index.html</link><description>Vijanden staan in formatie bovenaan het scherm. Jij staat onderaan met een ruimteschip en één doel: ze allemaal uitschakelen voordat ze de bodem bereiken. Druk op SPATIE om te schieten, en mis niet.
Wat je vandaag leert Kogels bijhouden in een lijst Een kogel aanmaken als je op SPATIE drukt Collision tussen kogels en vijanden Game over als een vijand de bodem raakt Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py. Klik op Run. Je ziet het schip onderaan en 12 vijanden in een raster, maar niks beweegt en je kunt nog niet schieten. Stap 1: Laat het schip bewegen Het schip beweegt al met de pijltjestoetsen. Controleer de code in update(). Zorg dat het schip niet buiten het scherm gaat:</description><generator>Hugo</generator><language>nl</language><atom:link href="https://python.coderdojohasselt.be/sessions/python/03-space-blaster/index.xml" rel="self" type="application/rss+xml"/><item><title>Sessie 3: Coach-notities</title><link>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/mentor-notes/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/mentor-notes/index.html</guid><description>Doel van deze sessie Na de Basic checkpoint kan een ninja:
Een kogel aanmaken als SPATIE wordt ingedrukt en die opslaan in een lijst. Kogels omhoog laten bewegen en verwijderen als ze het scherm uit gaan. Verstaan waarom je bullets[:] gebruikt en niet bullets bij verwijderen in een loop. Voorbereiding Starter ZIP klaar op USB en de site. Zelf éénmaal de oplossing draaien om de timing van de stappen te kennen. Dojo Defender: ninjas voegen vandaag een schietmechanisme toe aan hun project. Tijdsindeling (3 uur) Tijd Activiteit 0:00 tot 0:10 Terugblik sessie 2 + intro 0:10 tot 0:20 Stap 1: schip bewegen (review) 0:20 tot 1:00 Stap 2: schieten + kogels bewegen 1:00 tot 1:45 Stap 3: collision vijanden 1:45 tot 2:15 Stap 4: vijanden bewegen + game over 2:15 tot 2:45 Dojo Defender: schietmechanisme toevoegen 2:45 tot 3:00 Showcase + cliffhanger Veelgestelde vragen "bullets geeft een RuntimeError tijdens verwijderen" De ninja loopt over de originele lijst terwijl hij verwijdert. Laat bullets[:] (kopie) gebruiken.</description></item><item><title>Sessie 3: Cheatsheet</title><link>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/cheatsheet/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/cheatsheet/index.html</guid><description>Kogel aanmaken bij SPATIE def on_key_down(key): if key == keys.SPACE: kogel = Actor('bullet') kogel.x = ship.x kogel.y = ship.y - 20 bullets.append(kogel) Kogels bewegen en verwijderen for kogel in bullets[:]: kogel.y -= 8 if kogel.y &lt; -10: bullets.remove(kogel) Collision kogel ↔ vijand for kogel in bullets[:]: for vijand in enemies[:]: if kogel.colliderect(vijand): bullets.remove(kogel) enemies.remove(vijand) score += 10 break Schiet-cooldown cooldown = 0 def update(): global cooldown if cooldown > 0: cooldown -= 1 def on_key_down(key): global cooldown if key == keys.SPACE and cooldown == 0: shoot() cooldown = 15 Timer: vijanden laten zakken timer = 0 def update(): global timer timer += 1 if timer % 90 == 0: for vijand in enemies: vijand.y += 20 Win / game over tekst if not enemies: screen.draw.text("JE WINT!", center=(WIDTH/2, HEIGHT/2), color="yellow", fontsize=60)</description></item><item><title>Sessie 3: Demo opname</title><link>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/demo/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/demo/index.html</guid><description>Run de oplossing: cd code/sessions/03-space-blaster/solution &amp;&amp; uv run pgzrun main.py.
Neem ~10 seconden op: schiet een paar vijanden neer en laat de score oplopen. Sla op als space-blaster.gif in static/sessions/03-space-blaster/. Mikgrootte: ~600×500 pixels, ≤ 2 MB.</description></item></channel></rss>