LoginSignup
3
2

More than 5 years have passed since last update.

bashでズンドコキヨシ

Last updated at Posted at 2016-07-27

ズンドコキヨシ?

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

ズンドコキヨシまとめ
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

動かしてみると・・・

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

〜中略〜

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

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

以上

3
2
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
3
2