Skip to content

アクティビティ

詩生成器

中級 | MakeCode, Python | LED表示, 加速度センサー | ランダム化, 文法,

ステップ1: 作る

説明

詩生成器プロジェクトは、詩の中で、パスワードとして、または物語の始まりとして使用できるランダムなフレーズを作成します。 特に詩的なフレーズや面白いフレーズを友達と共有するのは楽しいことです。  

この2つのビデオで、何を作り、どのようにコーディングするかご案内します。

何を学びますか?

配列について学びます。これは特別な種類の変数です。 配列 はリストにデータを格納する有用な方法です。

動作の仕組み

  • BBC micro:bit を振ると、形容詞、名詞、動詞、副詞で構成されるランダムなフレーズが作成されます。たとえば、「美しい鳥は迅速に食べる」などです。
  • 自分のフレーズを使って詩を書き始めることも、このプログラムで生成された他のフレーズと一緒に詩全体を書くこともできます。
  • このプログラムは、「形容詞」、「名詞」、「動詞」、「副詞」と呼ばれる 4 つの配列を使用します。
  • 各配列には単語のリストが格納されます。 Each item in an array is called an element. 要素は インデックス で番号付けされます。 例えば、配列「名詞」には、要素0、要素0、要素1、蝶2、要素2の3つの要素が含まれています。 コンピュータが0から数え始めるため、インデックスは0から番号付けされます。
  • micro:bitを振ると、配列ごとに0から2の乱数が選択されます。 これらのインデックスの要素はmicro:bitのLEDディスプレイに表示されます。

必要なもの

  • micro:bit(またはMakeCodeシミュレーター)
  • MakeCodeエディター
  • バッテリーパック(オプション)

ステップ2: プログラムする

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

ステップ3: 改善する

  • 形容詞、名詞、動詞、副詞をプログラムに追加します。
  • ボタンAやボタンBなどの他の入力を使用して、あなたの詩のためのより多くの行を生成する方法を見つけます。
  • 俳句を生成するプログラムを書けますか?