読者です 読者をやめる 読者になる 読者になる

続・CodeJP 2013にて出題されたコードゴルフを頑張ってみた #codejp

CodeJP 2013にて出題されたコードゴルフを頑張ってみた #codejp - tututenの備忘録の続き
いろんな人のコードを参考に、自分の脳みそこねこねした集大成。
まだ短くなるかもだけど、また時間かかりそうなのでとりあえず載せるよ!


きっかけはまたもや他人様のコードを参考。
1ヶ月半も前にトラバで来ていたの知らなかったです(ごめんなさい)
てことで、


参考させてもらいました!
実際Unicodeに圧縮してcharCodeAtする方法は


前回記事書いて数日後ぐらいに知ってました。
しかし、自分のコードで応用方法が思いつかなくて頓挫してました。
そこでnobuokaさんの利用方法をみて「あ、これなら一度壊せば反映できる」と思いました。


てことで、こちら

t=0;
function a() {
  l=[t%10,t%60/10,10,t/60%10,t++/600]
  for(i=5,o='';i--;document.body.innerHTML=o+='<br>')
    for(j=20;j--;o+=' ■'['筯቉珧珏寉秏积牉篯篏А'.charCodeAt(l[j>>2])>>3*i>>j%4-1&1]);
  setTimeout(a,1e3)
}a();


上記のをeval形式に圧縮すろと、こちら

t=0;eval(a="for(i=5,l=[t%10,t%60/10,10,t/60%10,t++/600],o='';i--;document.body.innerHTML=o+='<br>')for(j=20;j--;o+=' ■'['筯቉珧珏寉秏积牉篯篏А'.charCodeAt(l[j>>2])>>3*i>>j%4-1&1]);setTimeout(a,1e3)")


ということで、文字数だけなら200文字を切りました。(190文字)
バイト数ですともう少し多い215Byteにまでいきました。
.charCodeAt(l[j>>2])>>3*i>>j%4-1&1あたりをもう少しスリム化したいところ。


とりあえず、中間報告でした。