Leren programmeren met Scratch Dag van de wetenschap
Het scratch programma Scratch is een grafische programmeer- omgeving. Je kan figuurtjes (sprites) dingen laten doen door blokken onder elkaar te plaaten. Begin met een gele blok om het programma te laten starten wanneer je op het groene vlaggetje klikt. Dan worden de blokken die eronder zijn geplaatst een voor een uitgevoerd. Om deze blokken te gebruiken moet je ze een voor een in het scriptveld slepen.
Met de paarse “uiterlijk” blokken kan je je kat bijvoorbeeld laten praten. Je kan je sprite ook laten verdwijnen en terug tevoorschijn laten komen. Met de groene blokken uit “functies” kan je 2 teksten samenvoegen of rekensommen maken. Je kan verschillende blokken in elkaar zetten.
Met de blauwe “bewegen” blokken kan je je sprite laten bewegen Met de blauwe “bewegen” blokken kan je je sprite laten bewegen. Het veld is horizontaal (x richting) van -240 tot 240 groot, verticaal (y richting) van -180 tot 180 groot. 0,0 is het midden van het speelveld. Een sprite heeft ook een richting. Je kan je sprite draaien en een aantal stappen laten zetten in deze richting
Bij “waarnemen” kan je heel wat zaken in het oog houden Bij “waarnemen” kan je heel wat zaken in het oog houden. Of controleren wanneer je een knop indrukt. Zo kan je je sprite je muis laten volgen door de x en y positie van je muis te lezen. Om niet elke keer op het groene vlaggetje te moeten klikken kunnen we uit “besturen” een lus gebruiken. De herhaal-lus blijft heel de tijd de blokken binnenin deze lus herhalen.
Je kan een nieuwe sprite (figuurtje) aanmaken. Zo heb je er 2 Je kan een nieuwe sprite (figuurtje) aanmaken. Zo heb je er 2. Elke sprite heeft zijn eigen script (programma). Met de blok “als” kan je ervoor zorgen dat iets wordt uitgevoerd wanneer aan een voorwaarde voldaan wordt. Zo kan je bijvoorbeeld contoleren of de ene sprite de andere raakt.
Je kan scratch installeren op je computer Je kan scratch installeren op je computer. Wij gebruiken een Raspberry pi. Dat is een kleine computer. Hierop sluiten we een picoboard aan. Daarop zitten een aantal sensoren die we kunnen lezen in scratch.
Met de schuifregelaar kunnen we bijvoorbeeld onze sprite laten op en neer bewegen. Met de “als”-blok kunnen we controleren of de drukknop is ingedrukt. Of kunnen we de waarde van de lichtsensor vergelijken met een gekozen waarde. De sensoren geven een getal van 0 tot 100.
Racespel We maken een racespel. Daarvoor tekenen we eerst een racebaan op de achtergrond. Gebruik eenzelfde kleur om de randen van je racebaan af te bakenen.
We maken een nieuwe sprite aan We maken een nieuwe sprite aan. De andere sprite mag verwijderd worden (door rechts te klikken op de sprite). Wanneer het programma start moet de auto eerst naar de start van de racebaan verplaatst worden en ook in de juiste richting gedraaid worden. Om de auto te laten rijden controleren we of de drukknop van het picoboard is ingedrukt.
Om te draaien gebruiken we de schuifregelaar Om te draaien gebruiken we de schuifregelaar. Deze gaat maar van 0 tot 100. Een cirkel rond gaat van 0 tot 360. We moeten dus wat rekenen om de gelezen waarde om te zetten.
Wanneer we de rand raken zijn we gecrached en moeten we terug naar de startpositie gaan. Dat doen we door te controleren of onze auto de kleur van de randen raakt.
Om bij te houden hoe lang we doen over een rondje maken we een timer Om bij te houden hoe lang we doen over een rondje maken we een timer. We kunnen meerdere blokken naast elkaar maken. Om de tijd bij te houden moeten we deze opslaan op de computer. Dat doen we in een plaats die variabele heet. Wanneer we een getal willen opslaan moeten we hiervoor een variabele aanmaken en geven we deze een naam. Dit getal kunnen we dan later gerbuiken of weer aanpassen.
De eindmeet tekenen we in een andere kleur De eindmeet tekenen we in een andere kleur. Wanneer we deze kleur raken laten we de auto zeggen wat zijn tijd is. Daarna stopt het script en kunnen we niet meer verder rijden.
Om de snelheid te bepalen kunnen we gebruik maken van een andere sensor. Door de waarde van de lichtsensor te gebruiken gaat de auto sneller rijden wanneer er meer licht is. Wanneer het donker is gaat hij trager rijden.
We gebruikte de schuifregelaar om de richting te bepalen We gebruikte de schuifregelaar om de richting te bepalen. We kunnen ook de schuifregelaar als stuur gebruiken. De auto draait dan alleen wanneer we rijden. Hoe verder de schuifregelaar opzij staat, hoe harder we gaan draaien. Wanneer de schuifregelaar in het midden staat rijden we rechtdoor. In draaien berekenen we hoeveel graden we bij elke stap moeten draaien. Deze tellen we bij de richting die we momenteel aan het rijden zijn bij.
Visspel We maken een spel waarbij een vis een hongerige haai moet ontwijken. Eerst kiezen we een mooie achtergrond.
We maken een nieuwe sprite. Deze maken we wat kleiner.
De vis kan op en neer zwemmen aan de hand van de schuifregelaar De vis kan op en neer zwemmen aan de hand van de schuifregelaar. Deze geeft een getal tussen 0 en 100. Het speelveld gaat in de vertikale richting van - 180 tot 180. We moeten dus weer wat rekenen om ervoor te zorgen dat de vis het hele speelveld kan gebruiken.
We maken nog een sprite aan. Deze keer een haai We maken nog een sprite aan. Deze keer een haai. Deze moet van rechts naar links zwemmen. We moeten de haai dus spiegelen.
We laten de haai van rechts naar links zwemmen We laten de haai van rechts naar links zwemmen. Eerst plaatsen we hem rechts, laten hem verschijnen en laten hem dan in een bepaalde tijd naar links zwemmen. Deze blok plaatsen we in een lus zodat de haai telkens opnieuw van rechts naar links zwemt.
Wanneer de vis de haai raakt wordt de vis opgegeten en is het spel voorbij.
Wanneer het spel voorbij is moet ook de haai stoppen met zwemmen Wanneer het spel voorbij is moet ook de haai stoppen met zwemmen. Daarvoor maken we een variabele stop aan. In het script van de haai
Om de score bij te houden moeten we deze opslaan in een nieuw variabele. Deze zetten we bij het begin van het spel op 0. Telkens de haai de overkant bereikt krijg je een punt bij.
Om het spel moeilijker te maken gaan we de snelheid van de haai verhogen elke keer hij aan de overkant geraakt.
Om extra punten te verdienen kan de vis een tros bananen vangen Om extra punten te verdienen kan de vis een tros bananen vangen. Deze drijven ook voorbij van rechts naar links. Hiervoor kunnen we dus starten met de blokken van de haai te kopiëren.
Wanneer de vis de bananen heeft aangeraakt heeft hij ze gepakt Wanneer de vis de bananen heeft aangeraakt heeft hij ze gepakt. De bananen moeten dan verdwijnen. Anders blijft de vis de bananen raken en krijgt hij bij elke stap van de bananen nog extra punten. Dit moeten we controleren tijdens het bewegen van de bananen. Dat kan echter niet met de “schuif”-blok. Daarom moeten we aan de hand van een lus zelf de bananen laten bewegen. In deze beweging kunnen we dan controleren of de bananen gepakt zijn om deze dan te laten verdwijnen.