【JavaScript実験】 ズンドコキヨシに挑戦

ズンドコキヨシを書いてみた。

【JavaScript実験】 FizzBuzzに挑戦 - こすもろのメモ帳

ズンドコキヨシまとめ - Qiita

(function() {
  var cache = [];
  
  while(cache.join(" ") != "ズン ズン ズン ズン ドコ") {
    cache.push(["ズン", "ドコ"][Math.floor(Math.random() * 2)]);
    
    console.log(cache[cache.length - 1]);
    
    if(cache.length > 5) {
      cache.shift();
    }
  }
  
  console.log("キ・ヨ・シ!");
})();

ちなみにコードゴルフに挑戦した方のコードはこうなったようだ。

for(n=3;n-64;console.log(n-64?(n|=2*Math.random())&1?'ドコ':'ズン':'キ・ヨ・シ!'))n<<=6

jsでズンドコキヨシのコードゴルフ(87byte) - Qiita

for(
    n=3;
    n-64;
    console.log(
        n-64?
          (n |= 2 * Math.random()) & 1?
            'ドコ':
          'ズン':
          'キ・ヨ・シ!'
    )
) n<<=6

ズンを1, ドコを0としてズン ズンズン ズンドコの判定は 0b11110 = 30 というビット列が現れるかどうかで判定できます。

ビット演算わけわからなすぎる。