Skip to content

活動

詩生成ツール

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

ステップ1: 作る

説明

詩生成ツールプロジェクトは、詩やパスワード、物語の始まりなどに使えるランダムなフレーズを作成します。 特に詩的なフレーズやおもしろいフレーズを友達と共有すると、楽しいですよね。  

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

学べること

配列について学びます。配列は、特別な種類の変数です。 配列は、リストにデータを格納するのに便利な手段です。

動作の仕組み

  • BBC micro:bit を振ると、形容詞、名詞、動詞、副詞で構成されるランダムなフレーズが作成されます。たとえば、「美しい鳥は食べるのが速い」などです。
  • 作ったフレーズで詩を書き始めることも、このプログラムで生成された他のフレーズと一緒に詩全体を書くこともできます。
  • このプログラムは、「adjectives」、「nouns」、「verbs」、「adverbs」という 4 つの配列を使用します。
  • 各配列には単語のリストが格納されます。 配列の各項目は要素と呼ばれます。 要素はインデックスで番号付けされます。 たとえば、配列「noun」には、要素 0「鳥」、要素 1「蝶」、要素 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 ボタンなどの他の入力を使用して、詩に使えるより多くのフレーズを生成する方法を見つけましょう。
  • 俳句を生成するプログラムを書けますか?