概要
jqコマンドでズンドコキヨシです。
参考: http://qiita.com/y__sama/items/7c451dfd706f9b36729d
コード
zndk.jq
def zndkkyc:
["ズン", "ドコ"] as $zndk |
def _zndkkyc(seed):
def nextseed(x): (x * 9301 + 49297) % 233280;
def rand(seed): seed / (233280 + 1);
def sample(seed):
. as $in | . | nth(rand(seed) * 10 | floor % ($in | length));
if .[-5:] != ["ズン", "ズン", "ズン", "ズン", "ドコ"] then
nextseed(seed) as $seed | . + ([$zndk | sample($seed)]) | _zndkkyc($seed)
else
. + ["キ・ヨ・シ!"]
end;
[] | _zndkkyc(100);
zndkkyc | join("")
randが無いので線形合同法でやりました。
実行と結果
$ jq -r -n -f zndk.jq
ドコドコズンズンズンドコズンズンズンドコドコズンズンドコドコドコズンズンドコドコドコズンドコドコズンドコズンドコドコズンドコズンズンズンズンドコキ・ヨ・シ!