Pygame 2 ================================ Opgave 12 --------- Onderstaand voorbeeld lijkt op opgave 11, maar de speler verplaatst zich nu onderaan het scherm. .. literalinclude:: ex/opgave12.py Link naar :download:`opgave12.py ` Pas de code aan zodat zowel voor de breedte als de hoogte variabelen gebruikt worden. Pas de initiele positie van het ruimteschip aan zodat het horizontaal gecentreerd staat onderaan het scherm, gebruik makend van de variabelen voorzien voor hoogte en breedte. .. image:: images/ship.png Opgave 13 --------- Kopieer onderstaande code, en voer het uit. Wat gebeurt er? .. literalinclude:: ex/opgave13.py Link naar :download:`opgave13.py ` Pas de bovenstaande code aan, zodat de variabelen uit opgave 12 opnieuw gebruikt worden. Pas de code verder aan zodat het ruimteschip zich dubbel zo snel verplaatst. Opgave 14 --------- In opgave 12 moest je voordurend op de pijltjestoetsen hameren om je ruimteschip te doen bewegen. In onderstaande code wordt dit probleem opgelost door bij het indrukken van de pijltjestoetsen, de variabele `xchange` een waarde te geven. Deze waarde wordt dan voortdurend bij de `X`-positie van het ruimteschip opgeteld zodat het ruimteschip blijft bewegen. Pas als de toets losgelaten wordt, zetten we de waarde van variabele `xchange` terug op 0, waardoor het ruimteschip stopt met bewegen. .. literalinclude:: ex/opgave14.py Link naar :download:`opgave14.py ` In het voorbeeld kan het ruimteschip enkel naar links bewogen worden. Pas de code aan zodat het ruimteschip ook naar rechts bewogen kan worden. Opgave 15 --------- De onderstaande code werd aangepast zodat het ruimteschip ook vertikaal kan bewegen. Helaas werd enkel het naar boven bewegen geimplementeerd. Pas de code aan zodat het ruimteschip ook naar beneden kan bewegen. .. literalinclude:: ex/opgave15.py Link naar :download:`opgave15.py ` Opgave 16 --------- Tot nu toe bleef ons spel volkomen stil. In onderstaand voorbeeld wordt getoond hoe je ervoor kan zorgen dat geluid afgespeeld wordt uit een bestand met naam `bow.wav`. .. literalinclude:: ex/opgave16.py Link naar :download:`opgave16.py ` Op Smartschool onder `PROG2, Documenten, Geluid` vinden jullie het `bow.wav` bestand alsook een bestand met naam `explosion.wav`. Plaatst beide bestanden in de map met je code, en voer het programma uit om te controleren dat het geluid afgespeeld wordt. Pas de code nu aan zodat het `explosion.wav` bestand afgespeeld wordt bij het indrukken van een van de pijltjestoetsen. Opgave 17 --------- In onderstaande code kan ons ruimteschip schieten. Om dit mogelijk te maken dienen we: - een sprite (afbeelding) van een kogel in te laden - de positie van de kogel bij te houden - de verplaatsing van de kogel bij te houden - de positie van de kogel gelijk te stellen met de speler als deze schiet - de snelheid van de kogel in te stellen zodra deze afgeschoten wordt - net zoals bij het ruimteschip: de nieuwe positie berekenen en het ruimteschip `blitten` .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. image:: images/bullet.png .. literalinclude:: ex/opgave17.py Link naar :download:`opgave17.py ` Op Smartschool onder `PROG2, Documenten, Geluid` vinden jullie het bestand `bullet.png`. Plaatst dit bestand bij je code en voer de code uit. Je zal merken dat de kogel de verkeerde richting uit gaat. Pas de code aan zodat de kogel wel in de juiste richting vliegt. Opgave 18 --------- Pas de code aan zodat er een geluid afgespeeld wordt zodra er geschoten wordt.