Skip to content

Activiteit

Poëziegenerator

Gevorderd | MakeCode, Python | Acceleratiemeter, LED scherm | Grammatica, Poëzie, Willekeurig

Stap 1: Maak het

Wat is het?

Het poëziegenerator-project maakt willekeurige zinnen die je kunt gebruiken in een gedicht, als wachtwoord of om een verhaal te starten. Het is leuk om hele poëtische of grappige zinnen te delen met je vrienden.  

Deze twee video's laten zien wat je gaat maken en hoe je het gaat coderen:

Wat ga je leren?

Je leert over reeksen, een speciaal soort variabele. Reeksen zijn een nuttige manier om gegevens op te slaan in lijsten.

Zo werkt het

  • Wanneer je je BBC micro:bit schudt, wordt er een willekeurige zin gemaakt die bestaat uit een bijvoeglijk naamwoord, zelfstandig naamwoord, werkwoord en bijwoord, bijvoorbeeld: "mooie vogel eet snel".
  • Je kunt je zin gebruiken om een gedicht te starten of naast andere zinnen die door dit programma worden gegenereerd om een volledig gedicht te schrijven.
  • Het programma maakt gebruik van vier arrays (reeksen) ‘adjectives’ (bijvoeglijk naamwoorden), ‘nouns’ (zelfstandig naamwoorden), ‘verbs’ (werkwoorden) en ‘adverbs’ (bijwoorden).
  • Elk array slaat een woordenlijst op. Elk item in een array wordt een element genoemd. De elementen zijn genummerd met een index. Het array 'noun' (zelfstandig naamwoorden) bevat bijvoorbeeld drie elementen: element 0, vogel; element 1, vlinder en element 2, libel. De indexen zijn genummerd vanaf 0 omdat computers beginnen te tellen vanaf 0.
  • Wanneer je je micro:bit schudt, wordt voor elke array een willekeurig getal tussen 0 en 2 gekozen. De elementen voor die indexen worden weergegeven op het micro:bit LED-scherm.

Benodigdheden

  • micro:bit (of MakeCode simulator)
  • MakeCode editor
  • batterijpakket (optioneel)

Step 2: Codeer het

1# Imports go at the top
2from microbit import *
3import random
4
5adjectives = ['beautiful', 
6           'delicate',
7           'bright']
8
9nouns = ['bird', 
10           'butterfly',
11           'dragonfly']
12
13verbs = ['eats', 
14           'flies',
15           'flutters']
16
17adverbs = ['swiftly', 
18           'silently',
19           'skillfully']
20
21while True:
22    if accelerometer.was_gesture('shake'):
23        choice = random.randint(0, len(adjectives)-1)
24        display.scroll(adjectives[choice])        
25        choice = random.randint(0, len(nouns)-1)
26        display.scroll(nouns[choice])
27        choice = random.randint(0, len(verbs)-1)
28        display.scroll(verbs[choice])
29        choice = random.randint(0, len(adverbs)-1)
30        display.scroll(adverbs[choice]) 

Stap 3: Verbeter het

  • Voeg meer bijvoeglijk naamwoorden, zelfstandig naamwoorden, werkwoorden en bijwoorden aan het programma toe.
  • Zoek een manier om meer regels voor je gedicht te genereren met behulp van andere soorten invoer zoals knop A of knop B.
  • Kun je een programma schrijven om een haiku te genereren?