動機
5年前のQiitaに ズンドコキヨシというお題を見つけたが、当時より現在までどうやら誰もDelphiでズンドコしていなかったようなので、ズンドコキヨシした。
参考: ズンドコキヨシまとめ
要件
Javaの講義、試験が「自作関数を作り記述しなさい」って問題だったから
— てくも (@kumiromilk) March 9, 2016
「ズン」「ドコ」のいずれかをランダムで出力し続けて「ズン」「ズン」「ズン」「ズン」「ドコ」の配列が出たら「キ・ヨ・シ!」って出力した後終了って関数作ったら満点で単位貰ってた
曲の発売が2004年のようで若い人々にはポカーンかもしれない...
歌詞がこれ: https://www.uta-net.com/song/15131/
書かれていないが「キ・ヨ・シ!」というオーディエンスの合いの手が入る歌である。
お題はつまり平成のFizzBuzz、ズンドコキヨシ版(何それ)ということだ。
ズンドコキヨシ with JavaScript はCodegolfまでされていて超クール。
実装
Life is short. Write the code.
普通にズンドコ
begin
zun := 'ズン';
doko:= 'ドコ';
zunzunzunzundoko := 'ズンズンズンズンドコ';
kiyoshi := 'キ・ヨ・シ!';
sentence := '';
while true do
begin
zunordoko := random(2);
case zunordoko of
0:sentence := sentence + zun;
1:sentence := sentence + doko;
end;
if (Pos(zunzunzunzundoko, sentence) > 0) then break;
end;
sentence := sentence + kiyoshi;
Showmessage(sentence);
end;
Codegolf気味なズンドコ
var
z, d, s:String;
zd:Integer;
begin
z:='ズン';d:='ドコ';s:= '';
while (Pos(z+z+z+z+d, s)=0) do begin
zd:=random(2);
case zd of
0:s:=s+z;
1:s:=s+d;
end;
end;
s := s + 'キ・ヨ・シ!';Showmessage(s);
end;
実行結果
それっぽい。
ズンドコキヨシのせいだよ
2021年の今なので、時代が分かるよう修正した。
var
z, d, s:String;
dandg:String;
zd:Integer;
begin
z:='ズン';d:='ドコ';s:= '';
dandg:='ドルチェ&ガッバーナーの';
while (Pos(dandg+z+z+z+z+d, s)=0) do begin //ドルチェ&ガッバーナのズンズンズンズンドコ
zd:=random(3);
case zd of
0:s:=s+z;
1:s:=s+d;
2:s:=s+dandg;
end;
end;
s := s + 'キ・ヨ・シ!のせいだよ';Showmessage(s);
end;
以上お粗末さまでしたズンドコ。
参考
記憶に新しい令和のHelloworld, Javaで湯婆婆を実装してみる
ヌジョレーボーボー 等と並ぶ、平成のFizzbuzz。
名作に出会えた喜び。
余談だが
Qiita過去 ネタ
徘徊という趣味の考古学が以下で楽しめそうだと気づいた。
https://qiita.com/tags/{タグ名}?page={ページ数} で探せる。
例) https://qiita.com/tags/ネタ?page=28
、が最古のネタのようだ。もっと探そう。
追記
[Delphi][ネタ]ズンドコキヨシ・コードゴルフ
Delphi でズンドコキヨシを書いてみる
当記事後、ズンドコされている方を発見し嬉しかったので追記する。
以上お楽しみいただければさいわいです。