はじめに
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個少ないな
:
: <長くなるので省略>
:
福徳: ポンピン
後藤: 来ましたよ誰か
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸びてるやん
福徳: ピン
後藤: 背筋伸び切ってるやん
$
残課題
- ボケとツッコミが逆転する展開は未実装です。
- 読み上げできないか調べてみます。
脚注
-
「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了 (仕様はこちらのツイート:https://twitter.com/kumiromilk/status/707437861881180160)
-
エンジニア界隈に一大ブームを巻き起こしたそうです。ズンドコキヨシまとめ ↩