bashでズンドコキヨシ

  • 1
    いいね
  • 0
    コメント

ズンドコキヨシ?

今、ズンドコキヨシが熱いらしい。

ズンドコキヨシまとめ
http://qiita.com/shunsugai@github/items/971a15461de29563bf90#_reference-e2b485175ecc8e78064c

いろいろなパターンのズンドコキヨシがあるけれど、bashオンリーのものは見当たらなかったのでやってみた。

ワンライナー

とりあえずワンライナーで書いてみる。

(while :; do [ $(expr $RANDOM % 2) -eq 1 ] && echo "ズン" && i=$((i+1)) || { echo "ドコ" && [ "$i" = "4" ] && echo "キ・ヨ・シ!" && break || i=0; } done)

ぴったり4回連続で「ズン」を歌った後に「ドコ」を歌うと、「キ・ヨ・シ!」と合いの手を入れて終了する。
全体を()で囲わない場合、i=4の状態が残ってしまうので、連続実行するとおかしなこと(初回がドコだとそのままキヨシしちゃう)になる。

ズンドコ亜種

あれ、でも「ズン」「ズンズン」「ズンドコ」の3種類なんじゃ・・・
おまけに、お客さんも交えて「キ・ヨ・シ!」までをワンセットにしたものを作ってみよう。

というわけで、「ズン・ズンズン・ズンドコ・キ・ヨ・シ!」の並びが達成できるまでループするバージョン。
改行は、お客さんの「キ・ヨ・シ!」が入った時に行う。

while :
do
    case $(expr $RANDOM % 4) in
        0)
            kys+="ズン・"
            ;;
        1) 
            kys+="ズンズン・"
            ;;
        2) 
            kys+="ズンドコ・"
            ;;
        3) 
            echo $kys"キ・ヨ・シ!"
            if [ "$kys" = "ズン・ズンズン・ズンドコ・" ]
            then
                break
            else
                kys=""
            fi
            ;;
    esac
done

動かしてみると・・・

ズン・ズンズン・ズンズン・ズンズン・ズンドコ・ズン・キ・ヨ・シ!
ズンドコ・キ・ヨ・シ!
ズン・ズン・ズンドコ・ズンズン・ズンズン・ズンドコ・ズンズン・キ・ヨ・シ!
ズンドコ・ キ・ヨ・シ!
ズン・ズンズン・ズン・ズンドコ・ズン・ズンドコ・キ・ヨ・シ!
キ・ヨ・シ!
キ・ヨ・シ!
キ・ヨ・シ!

〜中略〜

ズンズン・ズンドコ・ズンドコ・ズン・ズンドコ・ズン・ズン・キ・ヨ・シ!
ズンドコ・ズンドコ・ズンズン・ズンズン・キ・ヨ・シ!
ズン・ズンズン・ズンドコ・キ・ヨ・シ!

途中、お客さんが狂ったように「キ・ヨ・シ!」を連呼しているが、
なんとか歌いきることができた。

以上