6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

M-1 2017決勝のあのネタをPythonにやらせよう

Posted at

はじめに

M-1グランプリ2017決勝のジャルジャルのネタを見て思ったのは、「ズンドコきよし」12っぽいなでした。
Python3の勉強を兼ねて自動化してみました。
(注意:本記事はジャルジャルの漫才が「退屈なこと」と暗示しているわけではありません)
なお、先駆者さんがいらっしゃいます。M-1グランプリ2017決勝のジャルジャルネタ再現してみた

仕様

ボケ(変な校内放送)とツッコミ(盛り上げ方)は以下のような対応関係です。

ボケ ツッコミ
ピンポンパンポンピン 1個多いな
ピンポンパン 1個少ないな
ピンポン 誰か来ましたよ
ポンピン 来ましたよ誰か
ピン 背筋伸びてるやん
ピンポンパンライス ファミレス行ってピンポン押して店員さん呼んでハンバーグ定食頼んでパンオアライスって聞かれてるやん

「ピン」が5回連続したとき、「背筋伸びてるやん」の代わりに「背筋伸び切ってるやん」と返して終了することにします。

実装

hennna_kounaihousou.py
import random

class Jarujaru():
    rule = {
        'ピンポンパンポンピン': '1個多いな',
        'ピンポンパン'      : '1個少ないな',
        'ピンポン'         : '誰か来ましたよ',
        'ポンピン'         : '来ましたよ誰か',
        'ピン'            : '背筋伸びてるやん',
        'ピンポンパンライス' : 'ファミレス行ってピンポン押して店員さん呼んでハンバーグ定食頼んでパンオアライスって聞かれてるやん'
    }
    boke = list(rule.keys())
    pattern = len(rule)

    def __init__(self, name):
        self.name = name
        self.pin_count = 0

    def bokeru(self):
        i = random.randint(0, Jarujaru.pattern-1)
        return Jarujaru.boke[i]

    def tsukkomu(self, word):
        if word in Jarujaru.rule:
            if word == 'ピン':
                self.pin_count += 1
                if self.pin_count >= 5:
                    ans = '背筋伸び切ってるやん'
                else:
                    ans = Jarujaru.rule[word]
            else:
                self.pin_count = 0
                ans = Jarujaru.rule[word]
            return ans

def main():
    Fukutoku = Jarujaru('福徳')
    Gotou = Jarujaru('後藤')
    while True:
        boke = Fukutoku.bokeru()
        print(say(Fukutoku.name, boke))
        tsukkomi = Gotou.tsukkomu(boke)
        print(say(Gotou.name, tsukkomi))
        if Gotou.pin_count >= 5:
            break

def say(person, word):
    return '{}: {}'.format(person, word)


if __name__ == '__main__':
    main()

実行結果

Python3.6.3で動作確認しています。

$ python hennna_kounaihousou.py 
福徳: ピンポンパンライス
後藤: ファミレス行ってピンポン押して店員さん呼んでハンバーグ定食頼んでパンオアライスって聞かれてるやん
福徳: ピンポン
後藤: 誰か来ましたよ
福徳: ピンポンパンポンピン
後藤: 1個多いな
福徳: ピンポンパン
後藤: 1個少ないな
 :
 : <長くなるので省略>
 :
福徳: ポンピン
後藤: 来ましたよ誰か
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸び切ってるやん
$

残課題

  • ボケとツッコミが逆転する展開は未実装です。
  • 読み上げできないか調べてみます。

脚注

  1. 「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了 (仕様はこちらのツイート:https://twitter.com/kumiromilk/status/707437861881180160)

  2. エンジニア界隈に一大ブームを巻き起こしたそうです。ズンドコキヨシまとめ

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?