Skip to content
This page has been auto-translated and may contain errors.View in English

title: マッドリブス description: プレイヤーから単語を集めて、f文字列を使ってストーリーテンプレートに挿入します。

マッドリブス

Cass やあ!次の2週間はイベント企画を担当することになったんだけど、全く何も決まってないんだ。マッドリブスのプログラムを作ってくれない?何個か単語を入力してもらって、ストーリーに入れ込んで、カオスを出力するやつ。賢くなくていい。むしろ賢くない方がいい 😄

作るもの

名詞を入力してください: ピザ
動詞を入力してください: 爆発した
形容詞を入力してください: キラキラした
場所を入力してください: 図書館

キラキラしたピザが図書館で爆発した。誰も予想していなかった。

必要な知識

  • 出力と入力 - プレイヤーから各単語を集める
  • 文字列 - f文字列を使って単語をストーリーテンプレートに挿入
  • リスト - 集めた単語を保存する1つの方法
  • 関数 - オプションですが、「単語を入力してもらう」処理を関数でまとめるとコードがスッキリします

ヒント

先に集めて、後で出力する。 全ての単語を集めてからストーリーを作りましょう。input()呼び出しとストーリー出力を混ぜるとすぐに分かりにくくなります。

F文字列は最適な選択肢です。 全ての単語を集めたら、単語が挿入されたf文字列1つで出力行を作るだけで十分です。

変数またはリスト。 各単語を独立した変数に保存する(noun = ...verb = ...)か、すべてリストに集めるかのどちらでもできます。どちらでも動きますが、ストーリー行を書くときにどちらが読みやすいか考えてみましょう。

さらに発展させる

基本版が完成したら:

  • 複数のテンプレート。 2〜3つの異なるストーリーテンプレートを書いて、randomモジュールを使ってランダムに選択する。
  • 単語の種類を増やす。 複数形の名詞、過去形の動詞、数字、色を追加する。空欄が多いほど面白い結果になります。
  • プレイヤーに選ばせる。 利用可能なストーリーテンプレートを名前で表示して、単語を集める前にプレイヤーに選んでもらう。