Skip to content

Aktywność

Generator poezji

Średnio zaawansowany | MakeCode, Python | Akcelerometr, Wyświetlacz LED | Gramatyka, Losowość, Poezja

Krok 1: Wykonaj to

Co to jest?

Projekt generatora poezji tworzy losowe frazy, których możesz użyć w wierszu, jako hasło lub aby rozpocząć historię. Miło dzielić się ze znajomymi szczególnie poetycznymi lub zabawnymi frazami.  

Te dwa filmy pokazują, co stworzysz i jak to zakodować:

Czego się nauczysz?

Dowiedz się więcej o tablicach, specjalnym rodzaju zmiennej. Tablice są użytecznym sposobem przechowywania danych w listach.

Jak to działa

  • Kiedy potrząśniesz BBC micro:bit, tworzona jest losowa fraza składająca się z przymiotnika, rzeczownika, czasownika, a następnie przysłówka, na przykład „piękny ptak zjada szybko”.
  • Możesz użyć swojej frazy do rozpoczęcia wiersza lub obok innych zwrotów wygenerowanych przez ten program do napisania całego wiersza.
  • Program używa czterech tablic o nazwach ‘adjectives’, ‘nouns’, ‘verbs’, and ‘adverbs’.
  • Każda tablica przechowuje listę słów. Każda pozycja w tablicy nazywa się elementem. Każdy element jest ponumerowany indeksem (wskaźniemiem). Na przykład, tablica „noun” zawiera trzy elementy: element 0, ptak; element 1, motyl; oraz element 2, ważka. Indeksy są numerowane od 0, ponieważ komputery zaczynają liczyć od 0.
  • Gdy potrząsasz swoim micro:bitem, dla każdej tablicy jest wybierana losowa liczba od 0 do 2. Elementy dla tych indeksów są pokazane na wyświetlaczu micro:bita.

Czego potrzebujesz

  • micro:bit (lub symulator MakeCode)
  • Edytor MakeCode
  • pakiet baterii (opcjonalnie)

Krok 2: Zakoduj to

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]) 

Krok 3: Ulepsz to

  • Dodaj do programu więcej przymiotników, rzeczowników, czasowników i przysłówków do programu.
  • Znajdź sposób, aby wygenerować więcej wersów dla Twojego wiersza za pomocą innych danych wejściowych, takich jak przycisk A lub przycisk B.
  • Czy potrafisz napisać program do generowania haiku?