ズンドコキヨシ?
今、ズンドコキヨシが熱いらしい。
ズンドコキヨシまとめ
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
動かしてみると・・・
ズン・ズンズン・ズンズン・ズンズン・ズンドコ・ズン・キ・ヨ・シ!
ズンドコ・キ・ヨ・シ!
ズン・ズン・ズンドコ・ズンズン・ズンズン・ズンドコ・ズンズン・キ・ヨ・シ!
ズンドコ・ キ・ヨ・シ!
ズン・ズンズン・ズン・ズンドコ・ズン・ズンドコ・キ・ヨ・シ!
キ・ヨ・シ!
キ・ヨ・シ!
キ・ヨ・シ!
〜中略〜
ズンズン・ズンドコ・ズンドコ・ズン・ズンドコ・ズン・ズン・キ・ヨ・シ!
ズンドコ・ズンドコ・ズンズン・ズンズン・キ・ヨ・シ!
ズン・ズンズン・ズンドコ・キ・ヨ・シ!
途中、お客さんが狂ったように「キ・ヨ・シ!」を連呼しているが、
なんとか歌いきることができた。
以上