Programmeren met Scratch

M'bition - AVO Plus
Programmeren met Scratch
1 / 51
next
Slide 1: Slide
ProgrammerenMiddelbare schoolmavo, havo, vwoLeerjaar 1,2

This lesson contains 51 slides, with text slides.

time-iconLesson duration is: 120 min

Items in this lesson

M'bition - AVO Plus
Programmeren met Scratch

Slide 1 - Slide

Scratch
Scratch is een programmeertaal waarmee je kan leren hoe een programmeertaal werkt. Je kunt met Scratch games, interactieve filmpjes en gewoon mooie dingen maken. Interactief betekent dat je iemand anders iets kunt laten doen, zoals op een knop drukken of tekst invullen, waardoor er iets gebeurt. 

Slide 2 - Slide

Scratch blokken
In Scratch klik je met blokken je eigen programma aan elkaar. De blokken hebben per functie een eigen kleur. 
Sommige blokken hebben een speciale vorm, zodat je snel ziet hoe ze in elkaar passen. Zo geef je de logische volgorde aan waarin het algoritme moet worden uitgevoerd: van boven naar beneden. Zo werkt een echte programmeertaal ook, maar deze bestaat uit (Engelse) tekst en getallen. Met als nadeel dat je al snel een tikfout maakt en je script niet meer werkt.

Slide 3 - Slide

Scratch-scherm

Slide 4 - Slide

Scratch-account maken
  • Ga naar  scratch.mit.edu 
  • Klik op 'word scratcher' en volg de aanwijzingen
  • Bewaar je naam en wachtwoord goed

Slide 5 - Slide

Starten met programmeren
Als je Scratch voor de eerste keer opent, zie je een kat op het speelveld staan. Die kat doet helemaal niets, maar daar kun jij iets aan doen. Onder het speelveld zie je een plaatje van de kat met een blauwe lijn eromheen. Dat betekent dat je de kat hebt 'geselecteerd'. 
1. Selecteer bij gebeurtenis: 'wanneer op vlag wordt geklikt'
2. Voeg een actie toe, bijvoorbeeld: 'zeg Hallo! 2 sec'
3. Om de actie uit te voeren klik je op de vlag

Slide 6 - Slide

Script
Een script (aantal blokken onder elkaar) noemen we ook wel een algoritme; een reeks opdrachten die één voor één worden afgewerkt. Je hebt simpele algoritmes, maar deze kunnen ook heel ingewikkeld en slim zijn. 
Met algoritmes kun je van alles maken. Je vindt ze overal terug, in zoekmachines, websites, vaatwassers, telefoons, auto's, games, noem maar op!

Slide 7 - Slide

Praten, bewegen en lopen
Probeer de kat eens te laten praten, bewegen en lopen. 
Gebruik een herhaal-blokje bij het bewegen.
Pas de getallen eens aan en kijk wat het effect is.

Slide 8 - Slide

Sprites en achtergronden
In Scratch kun je verschillende 'sprites' (figuurtjes) en achtergronden kiezen. Kies rechtsonder in je scherm een andere sprite dan de kat en plaats je nieuwe sprite in een mooie achtergrond.

Slide 9 - Slide

Coördinaten
Het speelveld van Scratch is ingedeeld in x-coördinaten en y-coördinaten. 





Als je                                       gebruikt, komt je sprite weer in het midden van het speelveld  te staan. 

Slide 10 - Slide

Coördinaten vervolg
Als je de kat beweegt in het speelveld zie je de coördinaten veranderen. 



Hiermee kun je ook aangeven wat de standaard start positie van je sprite moet zijn als je op de groene vlag klikt. 


Slide 11 - Slide

Opdracht
Probeer eens een verhaaltje te maken in Scratch. Gebruik een passende achtergrond en maak twee sprites die met elkaar communiceren. 
Je kunt sprites laten verdwijnen en verschijnen, je kunt ze groter maken of verkleinen, je kunt geluid toevoegen en je kunt ze door middel van signalen op elkaar laten reageren. Kijk goed welke sprite geselecteerd is.

Slide 12 - Slide

Voorbeeld
Kijk naar de signalen. Stel je programma zo in dat de sprites weer naar hun startpositie gaan.

Slide 13 - Slide

Asteroids!
We gaan een klassiek videospelletje maken.

Login met je Scratch account en ga naar: https://scratch.mit.edu/projects/240364564/

Open dit project, klik op 


Slide 14 - Slide

Klaar voor de start?
We beginnen met de sprite 'Startknop'. Als het project start (groene vlag) verschijnt de knop. Als je daarop drukt wordt een signaal verzonden. Dit signaal noem je startgame. Hierna verdwijnt de knop.

Slide 15 - Slide

Raketje
Als het project start moet het raketje verdwijnen. Pas als het signaal startgame is verzonden verschijnt de raket midden op het speelveld. 





Probeer het uit!

Slide 16 - Slide

Draaien
De raket wordt bestuurd met de pijltjestoetsen. Het script checkt continu (let op de herhaal) of er een pijltjestoets wordt ingedrukt en welke dat dan is. In plaats van naar rechts of naar links te schuiven, draait het raketje elke keer een beetje rechtsom of linksom om zijn as. Dat beetje drukken we uit in graden

Slide 17 - Slide

Draaien vervolg

Slide 18 - Slide

Draaien raketje
Maak het volgende script:

Slide 19 - Slide

Vliegen
Het raketje draait, maar komt nog niet van zijn plaats. Daarvoor gebruik je 


Als je het pijltje omhoog indrukt, gaat het raketje vooruit. Als het raketje beweegt, moet ook de raketmotor werken en zie je vlammen. Als het pijltje omhoog niet is ingedrukt zie je geen vlammetjes. 

Slide 20 - Slide

Vliegen
Maak het volgende script: 

Slide 21 - Slide

Doorvliegen links/rechts
Maak het volgende script: 


Slide 22 - Slide

Doorvliegen boven/beneden
Maak het volgende script: 






Klik alle scripts aan elkaar en probeer het uit!


Slide 23 - Slide

Klonen
Log in met je Scratch account en ga naar https://scratch.mit.edu/projects/240364449/
In het sprite-overzicht staat een sprite, asteroid. Daar heb je maar één van. Het is de bedoeling dat er steeds meer asteroids door de ruimte gaan zweven. De asteroids ga je 'klonen'. Met een druk op de startknop zend je een startgame-signaal en kan het spel beginnen. Als het spel begint moet de asteroid verdwijnen, want je laat alleen klonen van de asteroid verschijnen.

Slide 24 - Slide

Klonen
Maak het volgende script voor de asteroid:





Klonen doe je met                                                                      in het 'besturen' palet.                                                





Slide 25 - Slide

Klonen
De kloon laat je op een willekeurig moment verschijnen. Dat doe je door een willekeurig aantal seconden te wachten voordat je een kloon maakt.




Slide 26 - Slide

Klonen
In het spel moeten telkens nieuwe klonen verschijnen. 




Als je een kloon maakt van een sprite, bepaal je in een los stukje script wat de sprite moet doen. Dit script zet je onder een                                             hoedje.


Slide 27 - Slide

Plaats van de kloon
Laat de kloon niet midden op het speelveld verschijnen, maar op een willekeurige plek aan de bovenkant van het speelveld. Dan lijkt het alsof de asteroid uit de ruimte komt aanvliegen. 


Slide 28 - Slide

Richting
Als de asteroid-klonen in het speelveld verschijnen, 'starten' ze in een willekeurige richting. Dat kan een getal zijn tussen de 0 en 360 graden. 



De originele asteroid verdwijnt als het spel start, dus de kloon moet weer verschijnen. 

Slide 29 - Slide

Bewegen
Als de kloon van de asteroid start, krijgt de kloon een plaats en een richting. Dan laat je de kloon bewegen in stapjes van 5. 


Slide 30 - Slide

Asteroids
Probeer het script van de asteroids uit. Wat gebeurt er? 

Slide 31 - Slide

Asteroids
De asteroids blijven nu aan de rand plakken. 
Net als het raketje moeten de asteroids het speelveld uitzweven en precies aan de andere kant het speelveld binnenkomen. 

Tip: Je kan stukjes script van een sprite naar een andere sprite kopiëren door ze uit het scriptveld naar het icoontje van de andere sprite te slepen. 

Slide 32 - Slide

Asteroids
Op deze manier vliegen de asteroids door de ruimte.

Slide 33 - Slide

Opruimen met laserdots
Er zijn nu wel heel veel asteroids. Om de asteroids op te ruimen kan het raketje laserdots afschieten door op de spatiebalk te drukken. 
Die laserdots maak je op dezelfde manier als de asteroids, als klonen van zichzelf. Als je op de spatiebalk drukt, wordt er een kloon gemaakt. 

Slide 34 - Slide

Opruimen 

Slide 35 - Slide

De kloon van de laserdot
De laserdot wordt vanuit het raketje afgeschoten. Dus als de kloon start, moet hij beginnen op de plek van het raketje. De laserdot moet ook de richting van het raketje krijgen. 

Gebruik                                                     en   

Slide 36 - Slide

Programma kloon laserdot

Slide 37 - Slide

Kloon bewegen

Slide 38 - Slide

Geluid bij de laserdots

Slide 39 - Slide

Niet teveel tegelijk
Om niet teveel laserdots tegelijk te krijgen gebruik je 


Dit ziet er dan zo uit: 

Slide 40 - Slide

De klonen plakken
De laserdots blijven nu nog plakken aan de randen net als de asteroids eerder deden. Maar dat lossen we niet op zoals met de asteroid. Als de kloon van de laserdot de rand raakt, verwijderen we hem met 




Slide 41 - Slide

Compleet programma laserdot

Slide 42 - Slide

Boem!
Als een asteroid geraakt wordt door een laserdot gebeuren er drie dingen:
  • de asteroid verandert in een groene ster
  • er klinkt een geluid (explosie)
  • als het geluid is afgelopen wordt de kloon van de asteroid verwijderd

Dit script maak je in het                                                       van de 

Slide 43 - Slide

Boem! Script

Slide 44 - Slide

Raketje en een asteroid
Als het raketje wordt geraakt door een asteroid, is het game over!
  • Het raketje verandert in een puinhoop.
  • Er klinkt een geluid (raket ontploft).
  • Als het geluid is afgelopen verdwijnt het raketje.
  • Het signaal 'game over' wordt gegeven.
  • Alle scripts worden gestopt.
Maak dit script in het scriptveld van het raketje, want het raketje verandert. 

Slide 45 - Slide

Raketje en een asteroid - script

Slide 46 - Slide

Startknop verschijnt weer
Als het signaal gameover  is verzonden, laat dan de startknop weer verschijnen. 


Slide 47 - Slide

Score
Om bij te houden hoeveel asteroids je hebt opgeruimd, maak je een variabele aan. Noem deze score.
Als de game begint zet je de score op 0. En elke keer als je een asteroid raakt, tel je 1 bij de score op. 

Slide 48 - Slide

Score - script

Slide 49 - Slide

Klaar!
Je spel kan nu gespeeld worden! 
Als je het leuk vindt kun je nog dingen veranderen. Maak bijvoorbeeld de asteroids verschillend qua grootte of qua snelheid. 


Slide 50 - Slide

Extra!
Wil je meer oefenen met Scratch? Gebruik de link en kijk of er een leuke opdracht voor je tussen staat!

https://projects.raspberrypi.org/nl-NL/projects?software%5B%5D=scratch



Slide 51 - Slide