<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Dojo Defender: Sessie 1 :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/dojo-defender/session-1/index.html</link><description>Je ruimteschip is geland in de donkere ruimte. Tijd om het tot leven te brengen. In deze sessie voeg je een bestuurbaar schip toe en laat je asteroïden naar beneden vallen. Ontwijk ze of verlies een leven. Hoe lang overleef jij?
Wat je vandaag leert Lijsten gebruiken om meerdere asteroïden bij te houden Objecten spawnen en verwijderen Botsingen detecteren met colliderect Levens bijhouden en een explosie-effect tonen Game-over afdwingen als je levens op zijn Stap 0: Installeren Open Thonny. Download de Dojo Defender starter, pak de ZIP uit en open main.py. Klik op Run. Je ziet een donkerblauw scherm met je ruimteschip onderaan. Je kan het al bewegen met de pijltjestoetsen. Problemen? Kijk bij Thonny instellen. Stap 1: Laat asteroïden spawnen Een game zonder gevaar is saai. Voeg een lijst toe waarin je alle asteroïden bijhoudt, en een functie die nieuwe asteroïden aanmaakt:</description><generator>Hugo</generator><language>nl</language><atom:link href="https://python.coderdojohasselt.be/dojo-defender/session-1/index.xml" rel="self" type="application/rss+xml"/><item><title>Dojo Defender Sessie 1: Cheatsheet</title><link>https://python.coderdojohasselt.be/dojo-defender/session-1/cheatsheet/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-1/cheatsheet/index.html</guid><description># Schip bewegen if keyboard.left and ship.x > 30: ship.x -= 5 if keyboard.right and ship.x &lt; WIDTH - 30: ship.x += 5 # Asteroïde spawnen def spawn_asteroid(): rock = Actor('asteroid_big') rock.x = random.randint(30, WIDTH - 30) rock.y = -30 rock.speed = random.uniform(3, 5) asteroids.append(rock) # Timer elke seconde (60 frames) timer += 1 if timer % 60 == 0: spawn_asteroid() # Asteroïden laten vallen en verwijderen for rock in asteroids[:]: rock.y += rock.speed if rock.y > HEIGHT + 30: asteroids.remove(rock) # Collision detectie if rock.colliderect(ship) and not invincible: lives -= 1 # start explosie # Explosie afspelen explosion.pos = (ship.x, ship.y) explosion.image = 'explosion_1' explosion_frame = 1 explosion_timer = 5 explosion_active = True ship.visible = False # Game over scherm if game_over: screen.draw.text("GAME OVER", center=(WIDTH/2, HEIGHT/2), color="red", fontsize=60) # Levens tonen screen.draw.text(f"Lives: {lives}", (10, 40), color="red", fontsize=24)</description></item><item><title>Dojo Defender Sessie 1: Coach-notities</title><link>https://python.coderdojohasselt.be/dojo-defender/session-1/mentor-notes/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-1/mentor-notes/index.html</guid><description>Doel van deze sessie Na deze sessie kan een ninja:
Een lijst met asteroïden aanmaken en beheren met Actor Asteroïden spawnen met een timer en verwijderen als ze uit beeld zijn Botsingen detecteren met colliderect Levens bijhouden en game-over afdwingen Een eenvoudige explosie-animatie tonen Voorbereiding (30 min vóór de sessie) Starter ZIPs klaar op USB en de site: dojo-defender-s2-starter.zip en dojo-defender-s2-solution.zip. De starter zelf éénmaal draaien op de dojoruimte-laptop. Uitleggen dat Dojo Defender elke sessie terugkomt — moedig aan om de code goed te bewaren. Tijdsindeling (3 uur) Deze sessie is integraal onderdeel van de normale sessie 2 (Dodge Meteors). Gebruik de tijd als volgt:</description></item><item><title>Dojo Defender Sessie 1: Demo</title><link>https://python.coderdojohasselt.be/dojo-defender/session-1/demo/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/dojo-defender/session-1/demo/index.html</guid><description>Hoe demonstreer je de oplossing Open een terminal in de projectmap. Voer uit: uv run python3 code/sessions/02-dodge-meteors/dojo-defender-solution/main.py Laat zien: Het schip beweegt links/rechts met pijltjestoetsen. Elke seconde verschijnt een asteroïde bovenaan. Asteroïden vallen met wisselende snelheid (3-5). Bij botsing: schip verdwijnt, explosie-animatie speelt, schip respawnt. Na 3 hits: game over met “GAME OVER” tekst en eindscore. Score telt op elke seconde dat je overleeft.</description></item></channel></rss>