<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python sessies :: CoderDojo Python &amp; Pygame</title><link>https://python.coderdojohasselt.be/sessions/python/index.html</link><description>Tien sessies waarin je elke maand een compleet Pygame-spel bouwt. Elke sessie bevat een worksheet, een cheatsheet en startcode om te downloaden.
Sessie 1: Catch the Stars: Een ster valt, jij vangt hem. Je schrijft je eerste draw()/update() loop en beweegt een sprite met pijltjestoetsen. Sessie 2: Dodge Meteors: Meteoren spawnen en vallen. Je houdt ze bij in een lijst, verwijdert ze als ze van het scherm af zijn en trekt een leven af bij elke botsing. Sessie 3: Space Blaster: Vijanden zakken naar beneden, jij schiet ze neer. Je maakt kogels aan met SPATIE en detecteert collision met een loop over een lijst. Sessie 4: Pong: Twee paddles, één bal. Je leert pygame.Rect, laat de bal stuiteren door de snelheid om te keren en houdt de score bij voor twee spelers. Sessie 5: Breakout: Stenen kapotschieten met een stuiterende bal. Je voegt geluidseffecten toe met pygame.mixer en bouwt een win- en verlies-scherm. Sessie 6: Platformer: Springen en vallen op platforms. Je simuleert zwaartekracht met een vel_y variabele en detecteert platformbotsingen met pygame.Rect. Sessie 7: Bug Zapper: Bugs kruipen, jij schiet ze neer. Je schrijft je eerste klasse met __init__ en maakt een subklasse via overerving. Sessie 8: Sky Highway: Een vliegend schip op een scrollende weg. Je spawnt obstakels van rechts en verhoogt de snelheid naarmate de score stijgt. Sessie 9: Boss Battle: Een baas met HP-balk en aanvalsfases. Je bouwt een state machine die het schiet- en bewegingsgedrag per fase aanpast. Sessie 10: Mijn Spel: Geen vaste opdracht. Jij kiest het genre en combineert alles wat je in negen sessies hebt geleerd in je eigen spel.</description><generator>Hugo</generator><language>nl</language><atom:link href="https://python.coderdojohasselt.be/sessions/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Sessie 1: Catch the Stars</title><link>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/01-catch-the-stars/index.html</guid><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></item><item><title>Sessie 2: Dodge Meteors</title><link>https://python.coderdojohasselt.be/sessions/python/02-dodge-meteors/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/02-dodge-meteors/index.html</guid><description>Je ruimteschip zweeft in de donkere ruimte terwijl meteoren van boven naar beneden komen. Ontwijk ze, of verlies een leven. Hoe langer je overleeft, hoe sneller ze gaan. En deze keer bouw je ook Dojo Defender: het grotere project dat elke sessie groeit.
Wat je vandaag leert Lijsten gebruiken om meerdere objecten bij te houden Objecten spawnen (aanmaken) en verwijderen Levens bijhouden en een game-over scherm tonen Dojo Defender: je eigen ruimteschip toevoegen aan het grotere project Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py. Klik op Run. Je ziet je ruimteschip onderaan, maar er vallen nog geen meteoren. Problemen? Kijk bij Thonny instellen. Stap 1: Laat meteoren spawnen Vul de functie spawn_meteor() in. Een meteoor is een Actor die bovenaan het scherm begint op een willekeurige x-positie:</description></item><item><title>Sessie 3: Space Blaster</title><link>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/03-space-blaster/index.html</guid><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></item><item><title>Sessie 4: Pong</title><link>https://python.coderdojohasselt.be/sessions/python/04-pong/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/04-pong/index.html</guid><description>Twee paddles, één bal: het klassieke Pong-spel. Maar er is een verrassing: deze sessie schrijf je het spel in echte pygame, zonder pgzrun. Je leert de game loop zelf Installeren. Dat is hoe de meeste echte games werken.
Wat je vandaag leert De pygame game loop: events, update, draw pygame.Rect voor rechthoeken en botsingen Bal laten stuiteren (snelheid omkeren) Score bijhouden voor twee spelers Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py. Klik op Run. Je ziet twee paddles en een gele bal in het midden, maar de bal beweegt nog niet. Verschil met pgzrun: Er zijn geen draw() en update() functies meer. Alles zit in één while running: loop.</description></item><item><title>Sessie 5: Breakout</title><link>https://python.coderdojohasselt.be/sessions/python/05-breakout/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/05-breakout/index.html</guid><description>Een bal kaatst heen en weer en beukt rijen gekleurde stenen kapot. Jij bestuurt de paddle om de bal in de lucht te houden. En deze keer hoor je het ook: er zijn geluidseffecten bij elke botsing.
Wat je vandaag leert Geluid laden en afspelen met pygame.mixer Botsingen met meerdere objecten (lijst van stenen) De bal laten stuiteren in de juiste richting Win- en verlies-scherm bouwen Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py. Klik op Run. Je ziet de paddle, de bal en de stenen. De bal beweegt al horizontaal maar niet verticaal. Dat ga jij aanpassen. Stap 1: Laat de bal verticaal bewegen Zoek deze regel in de starter:</description></item><item><title>Sessie 6: Platformer</title><link>https://python.coderdojohasselt.be/sessions/python/06-platformer/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/06-platformer/index.html</guid><description>In deze sessie bouw je een micro-platformer. Je speler heeft zwaartekracht, kan springen, en verzamelt sterren op platforms. Je gebruikt voor het eerst pygame direct, zonder pgzrun, en voegt geluidseffecten toe met pygame.mixer.
Wat je vandaag leert Zwaartekracht simuleren met een vel_y variabele Springen door vel_y negatief te maken Platformbotsingen detecteren met pygame.Rect Items verzamelen (collision met sterren) Geluiden afspelen met pygame.mixer 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 venster met een speler, platforms en sterren, maar de speler valt nog niet. Problemen? Vraag een coach. Stap 1: Zwaartekracht In een platformer valt de speler continu naar beneden, tenzij hij op een platform staat. We simuleren dat met vel_y: een verticale snelheid die elke frame groter wordt door zwaartekracht.</description></item><item><title>Sessie 7: Bug Zapper</title><link>https://python.coderdojohasselt.be/sessions/python/07-bug-zapper/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/07-bug-zapper/index.html</guid><description>Bugs vallen van boven naar beneden. Jij schiet omhoog om ze te raken. In deze sessie leer je OOP: je schrijft je eerste eigen klasse (Bug), en daarna twee subklassen: een die slingert en een die op je duikt. Klassen zijn de bouwstenen van bijna alle grote programma’s.
Wat je vandaag leert Een klasse schrijven met __init__ en eigen methoden Overerving: een subklasse die een bestaande klasse uitbreidt Bullets (kogels) bijhouden in een lijst Botsingsdetectie tussen kogels en bugs Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py in Thonny. Klik op Run. Je ziet een scherm met een speler onderaan, maar nog geen bugs en geen kogels. Problemen? Vraag een coach. Stap 1: Bugs spawnen en schieten De Bug-klasse</description></item><item><title>Sessie 8: Sky Highway</title><link>https://python.coderdojohasselt.be/sessions/python/08-sky-highway/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/08-sky-highway/index.html</guid><description>Je schip vliegt door een eindeloze luchtweg. De achtergrond scrolt langs je heen, rode obstakels komen van rechts, en sterren geven punten. Hoe langer je overleeft, hoe sneller het wordt!
Wat je vandaag leert Een scrollende achtergrond maken met een scroll_x variabele Objecten spawnen die van rechts naar links bewegen Botsingsdetectie met levens Moeilijkheidsscaling: snelheid verhogen naarmate de score stijgt Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py in Thonny. Klik op Run. Je ziet een statisch scherm met een schip en een luchtachtergrond, maar niks beweegt nog. Problemen? Vraag een coach. Stap 1: Achtergrond laten scrollen Een scrollende achtergrond geeft de illusie van beweging. We tekenen de achtergrond twee keer naast elkaar en schuiven de positie elke frame op.</description></item><item><title>Sessie 9: Boss Battle</title><link>https://python.coderdojohasselt.be/sessions/python/09-boss-battle/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/09-boss-battle/index.html</guid><description>De eindbaas wacht op je. Hij beweegt heen en weer, schiet kogels en wordt steeds gevaarlijker naarmate zijn HP daalt. Jij schiet terug, houdt zijn HP bij op een balk, en overleeft drie fasen. Dit is de moeilijkste sessie, en de meest bevredigende als je hem haalt.
Wat je vandaag leert Een HP-balk tekenen op het scherm Een state machine: de baas gedraagt zich anders per fase De baas laten schieten met een kogeltimer Fasen activeren op HP-drempelwaarden Stap 0: Installeren Open Thonny. Download de starter via deze link, pak de ZIP uit en open main.py in Thonny. Klik op Run. Je ziet de baas bovenaan, jouw schip onderaan. Geen movement, geen kogels nog. Problemen? Vraag een coach. Stap 1: Baas laten bewegen De baas beweegt heen en weer over het scherm. Als hij de rand raakt, keert hij om.</description></item><item><title>Sessie 10: Mijn Spel</title><link>https://python.coderdojohasselt.be/sessions/python/10-my-game/index.html</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://python.coderdojohasselt.be/sessions/python/10-my-game/index.html</guid><description>Dit is jouw sessie. Geen vaste stappen, geen verplichte mechanics. Jij beslist wat je bouwt, en vandaag maak je het.
Jouw spel, jouw regels In negen sessies heb je geleerd:
Variabelen, functies en game loops Toetsenbord- en muisinput Sprites, collision detection en score Geluid en animatie Klassen en overerving Scrollende achtergronden, spawnen en moeilijkheidsscaling HP-balken, state machines en baas-AI Al die bouwstenen liggen klaar. Vandaag combineer je ze in je eigen spel.</description></item></channel></rss>