<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sessie 1: Catch the Stars :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/index.html</link><description>In deze sessie bouw je een mini-spel: een ster valt naar beneden en jij vangt hem op met een basket. Aan het einde van de sessie beweegt alles, houdt het spel bij hoeveel sterren je vangt, en heb je je eerste eigen game.
Wat je vandaag leert Variabelen gebruiken om objecten te positioneren De draw() functie: wat je elke frame tekent De update() functie: wat er elke frame verandert Toetsenbord-input: bewegen met pijltjestoetsen Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py in Thonny. Klik op de groene Run-knop. Je ziet een donkerblauw venster met een basket onderaan en een ster bovenaan, maar niks beweegt nog. Problemen? Kijk bij Thonny instellen. Stap 1: Laat de ster vallen De update() functie draait 60 keer per seconde. Alles wat je daarin zet, wordt dus 60 keer per seconde uitgevoerd. Dat is hoe beweging werkt in een game.</description><generator>Hugo</generator><language>nl</language><atom:link href="https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/index.xml" rel="self" type="application/rss+xml"/><item><title>Coördinaten in Pygame Zero</title><link>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/coordinaten/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/coordinaten/index.html</guid><description>Pixels Een scherm is een raster van kleine gekleurde puntjes: pixels. Ons spelvenster is 600 pixels breed en 400 pixels hoog: 240.000 pixels in totaal.
Elk pixel heeft een adres: (x, y). Zo weet Pygame Zero exact waar het iets moet tekenen.
Waar zit (0, 0)? In wiskundige grafieken zit het nulpunt (0, 0) linksonder. In Pygame Zero zit (0, 0) linksboven.
x loopt naar rechts: hoe groter x, hoe verder naar rechts. y loopt naar beneden: hoe groter y, hoe lager op het scherm. Wiskunde Pygame Zero</description></item><item><title>Sessie 1: Coach-notities</title><link>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/mentor-notes/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/mentor-notes/index.html</guid><description>Doel van deze sessie Aan het einde van de Basic checkpoint kan een ninja:
De basket horizontaal bewegen met de pijltjestoetsen links en rechts. Een ster zien vallen van boven naar beneden op het scherm. De update()-functie lezen, begrijpen wat er staat, en zelf een kleine aanpassing doen (bijv. de snelheid verhogen). Wat niet verwacht wordt na sessie 1: score bijhouden, collision detection, random startposities. Die komen in sessie 2.</description></item><item><title>Sessie 1: Cheatsheet</title><link>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/cheatsheet/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/cheatsheet/index.html</guid><description>Venster openen import pgzrun WIDTH = 600 HEIGHT = 400 def draw(): screen.fill((20, 20, 50)) pgzrun.go() Run: groene Run-knop in Thonny
Actor (sprite) maken basket = Actor('basket') # zoekt images/basket.png basket.pos = (300, 380) basket.draw() Tekenen in draw() def draw(): basket.draw() star.draw() Bewegen in update() def update(): star.y = star.y + 3 Toetsenbord if keyboard.left: basket.x = basket.x - 5 if keyboard.right: basket.x = basket.x + 5 Botsing if star.colliderect(basket): # raak! Tekst tekenen screen.draw.text("Score: 0", topleft=(10, 10), color="white") Random getal import random star.x = random.randint(20, 580)</description></item><item><title>Sessie 1: Demo opname</title><link>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/demo/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/demo/index.html</guid><description>Pgzero kan niet naar WebAssembly gecompileerd worden (alleen Pygame vanaf sessie 4). Daarom toont de sessiepagina een GIF van het eindresultaat in plaats van een speelbare demo.
Hoe opnemen Run de oplossing: cd code/sessions/01-catch-the-stars/solution &amp;&amp; uv run pgzrun main.py. Gebruik een schermrecorder: Linux: Peek of SimpleScreenRecorder. Windows: ScreenToGif. macOS: ingebouwde QuickTime → exporteren naar GIF via ffmpeg of Kap. Neem ~10 seconden gameplay op. Sla op als catch-the-stars.gif in static/sessions/01-catch-the-stars/. Verwijs ernaar in de worksheet via: ![Demo](/sessions/01-catch-the-stars/catch-the-stars.gif). Mikgrootte: ~600×400 pixels, ≤ 2 MB.</description></item></channel></rss>