Skip to content

Atividade

Gerador de poesia

Intermediário | MakeCode, Python | Acelerômetro, Visor LED | Gramática, Poesia, Randomização

Primeiro passo: o projeto

O que é?

O projeto gerador de poesia cria frases aleatórias que você pode usar em um poema, como senha ou para começar uma história. É agradável compartilhar, especialmente frases poéticas ou engraçadas, com seus amigos.  

Estes dois vídeos mostram o que você fará e como desenvolver o código:

O que você vai aprender?

Você aprenderá sobre arrays, um tipo especial de variável. Arrays são uma maneira útil de armazenar dados em listas.

Como funciona:

  • Quando você agita seu BBC micro:bit, uma frase aleatória é criada que consiste em um adjetivo, substantivo, verbo e, em seguida, um advérbio, por exemplo, ‘pássaro bonito come rapidamente’.
  • Você pode usar sua frase para começar um poema ou junto com outras frases geradas por este programa para escrever um poema inteiro.
  • O programa usa quatro arrays chamados ‘adjetivos’, ‘substantivos’, ‘verbos’ e ‘advérbios’.
  • Cada array armazena uma lista de palavras. Cada item em um array é chamado de elemento. Os elementos são numerados com um índice. Por exemplo, o array ‘substantivo’ inclui três elementos: elemento 0, pássaro; elemento 1, borboleta; e elemento 2, libélula. Os índices são numerados a partir de 0 porque os computadores começam a contagem em 0.
  • Quando você agita seu micro:bit, um número aleatório entre 0 e 2 é escolhido para cada array. Os elementos correspondentes a esses índices são exibidos no display de LED do micro:bit.

Itens necessários:

  • Um micro:bit (ou simulador MakeCode);
  • Editor MakeCode;
  • Conjunto de baterias (opcional).

Segundo passo: é hora de programar

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

Terceiro passo: vamos deixar o código ainda melhor

  • Adicione mais adjetivos, substantivos, verbos e advérbios ao programa.
  • Encontre uma maneira de gerar mais linhas para o seu poema usando outras entradas, como o botão A ou o botão B.
  • Você pode escrever um programa para gerar um haicai?