Projecten

Projecten

In de onderstaande projecten dien je al je kennis en vaardigheden omtrent de opeenvolging, herhaling, selectie, teksten en lijsten aan te spreken. Bekijk dan ook zeker eens deze pagina’s wanneer je vragen hebt.

PROJECT 1: VERKEERSLICHTEN

1. Start: Download het startbestand. Dit bestand is nog verpakt als een zipbestand. Je dient het eerst en vooral uit te pakken. Open het oefenbestand vanuit Scratch. Je hebt een achtergrond en drie sprites ter beschikking.

2. Gebeurtenis: Het programma start wanneer er op de groene vlag wordt gedrukt. Voorzie bij alledrie de sprites deze gebeurtenis ().

3. Sprite ‘Verkeerslicht’

    • Onder de gebeurtenis programmeer je het verkeerslicht. Aangezien dit blijft doorlopen totdat de gebruiker het programma stopt, maak je gebruik van een onbegrensde herhaling ().
  •  
    • Binnen deze onbegrensde herhaling programmeer je de uiterlijken van het verkeerslicht (Groen, Oranje en Rood), steeds gevolg door een ‘wacht’-blok die het uiterlijk voor een gekozen aantal seconden laat zien. Het groene licht moet 7 seconden zichtbaar zijn, het oranje licht 1 seconde en het rode licht 10 seconden. Je maakt gebruik van de blokken en .
  •  
    • Binnen de sprite van het verkeerslicht programmeer je ook wanneer het programma moet stoppen. Wanneer er op de spatiebalk wordt gedrukt, verander je het uiterlijk van het verkeerslicht naar ‘Neutraal’ en stop je alle scripts. Dit doe je met behulp van de blokken   en  .
  •  
    • Test de werking van het verkeerslicht en het stoppen van het programma uit!
  •  

4. Sprite ‘auto 1’

    • Nadat er op de groene vlag wordt geklikt, dient er op regelmatige tijdstippen een kloon van ‘auto 1’ te worden gemaakt. We zorgen ervoor dat de kleur van deze sprite regelmatig wijzigt, dit om een realistische situatie te krijgen. Hoe doe je dit?
      • Zorg ervoor dat deze sprite onzichtbaar wordt via de blok
      • Start een onbegrensde herhaling via de blok .
    •  
      • Verander de kleur van de sprite naar een willekeurige waarde tussen 0 en 255.  Dit doe je via de blokken en .
    •  
      • Maak een kloon van deze sprite via de correcte blok (zie oefening ‘Aquarium’ bij deel herhaling).
    •  
      • Wacht een door de computer gekozen willekeurig aantal seconden (tussen 2 en 6 seconden!) om opnieuw naar de eerste stap van de herhaling te gaan. Op deze manier krijg je terug een vrij realistische situatie.
  •  
    • Wanneer we op de groene vlag klikken, begint het verkeerslicht te werken en wordt er op regelmatige basis een kloon van ‘auto 1’ aangemaakt. De volgende stap is dat je die klonen van de sprite ‘auto 1″ laat rijden op het onderste baanvak, rekening houdend met de werking van het verkeerslicht. Hoe doet je dit?
      • Gebruik de gebeurtenis om uitsluitend de klonen van sprite ‘auto 1’ te programmeren. 
      • Plaats de kloon op een correcte startpositie via de blok . Je gebruikt als x-waarde 210 en als y-waarde -105.
    •  
      • Na het klikken op de groene vlag werd de sprite ‘auto 1’ onzichtbaar gemaakt. Op dit moment dien je de kloon zichtbaar te maken via de blok
    •  
      • Je start een herhaling met voorwaarde (= herhaal tot) op. Deze herhaling loopt totdat de kloon de rand raakt
      • Binnen de herhaling met voorwaarde plaats je een ‘als…dan…anders’-functie. Nu volgt een erg BELANGRIJKE STAP! De kloon moet van rechts naar links bewegen in kleine stapjes, tenzij hij ongeveer aan de witte lijn staat (x-waarde = -100) ÉN het licht op rood staat OF wanneer hij een (kloon van) sprite ‘auto 1’ raakt OF wanneer hij een (kloon van) sprite ‘auto 2’ raakt. Dan moet de auto stoppen. De voorwaarde bij de ‘als…dan…anders’-functie bevat dus heel wat onderdelen!
        • Als basisstructuur van de voorwaarde gebruik je .   
        • Bij de EN-voorwaarden kies je enerzijds voor het feit dat het verkeerslicht op rood moet staan. Dit doe je door de blok om te vormen zodat het uiterlijk van het verkeerslicht gelijk is aan Rood (de juiste schrijfwijze kan je bij de uiterlijken van het verkeerslicht bekijken). Anderzijds moet de sprite zich ongeveer voor de witte lijn bevinden. Dit doe je met behulp van de blokkencombinatie en . De afgeronde x-positie moet gelijk zijn aan -100.
        • Bij de OF-voorwaarden kies je momenteel tweemaal hetzelfde, namelijk of je sprite ‘auto 2’ raakt. We lossen dit later nog op. Dit doe je via de blok .
        • Als aan de voorwaarden voldaan is, dan moet de (kloon van) sprite ‘auto 1’ enerzijds 5 stappen naar rechts nemen om overlap  (= botsing van wagens) te vermijden. Anderzijds moet er gewacht worden totdat het verkeerslicht overslaat naar groen. Dit doe je met behulp van de blokken , en . Die laatste blok vorm je om zodat het uiterlijk van het verkeerslicht gelijk is aan Groen  (de juiste schrijfwijze kan je bij de uiterlijken van het verkeerslicht bekijken).
        • In het anders-gedeelte (= als aan geen enkele voorwaarde voldaan is) dient de auto in stapjes van rechts naar links te nemen in stappen van -10. 
      •  
      • De herhaling stopt wanneer de (kloon van) sprite ‘auto 1’ van rechts naar links is bewogen en de rand heeft geraakt. Op dat moment moet je nog twee blokken onder de herhaling toevoegen. Eerst en vooral maak je de kloon onzichtbaar via de ‘verdwijn’-blok. Daarnaast stop je dit script (= deze groep code) via de blok .
    • Test het rijden en stoppen van de (klonen van) sprite ‘auto 1’ uit. Je zal merken dat de klonen elkaar nog overlappen. Dit lossen we later op.

5. Sprite ‘auto 2’

    • Eerst en vooral zorg je ervoor dat er een kloon van ‘auto 2’ wordt gemaakt nadat er op de groene vlag wordt geklikt. Dit kan je heel makkelijk doen door de nodige code van sprite ‘auto 1’ naar sprite ‘auto 2’ te kopiëren. Hoe doe je dit? 
      • Selecteer sprite ‘auto 1’.
      • Klik en sleep de code naar het spritevenster totdat je muiscursor over sprite ‘auto 2’ gaat (zie onderstaande afbeelding). 
      • Laat de muiscursor los.
      • Controleer of de code nu beschikbaar is bij sprite ‘auto 2’.

    • Kopieer daarna ook de code omtrent het programmeren van de kloon van sprite ‘auto 1’ naar sprite ‘auto 2’. Je dient enkel de startpositie aan te passen door de ‘Ga naar’-blok te wijzigen (y = -70).

6. Afwerking

Om ervoor te zorgen dat er bij een rood licht een rij auto’s ontstaat op beide baanvakken, moet je een trucje toepassen.

    • Verwijder bij sprite ‘auto 1’ de blok code voor het programmeren van de klonen.
    • Pas bij sprite ‘auto 2’ de voorwaarden van de ‘als…dan…anders’-functie aan. Hoe? Momenteel heb je tweemaal ‘Raak ik auto 2’ geplaatst. Pas één van beide aan zodat  zowel het raken van sprite ‘auto 1’ als sprite ‘auto 2’ wordt voorzien ().
    • Kopieer de code voor het programmeren van de klonen van sprite ‘auto 2’ naar sprite ‘auto 1’. Je dient bij sprite ‘auto 1’ nu enkel de startpositie aan te passen door de ‘Ga naar’-blok te wijzigen (y = -105).
  •  

Test alles uitSla deze oefening op als ‘Verkeerslichten_VoornaamFamilienaam’ en plaats deze in de gedeelde Dropboxmap.