呼ばれてないけど、ボクもコードゴルフしてみたよ
っ 集え変態プログラマ!JavaScriptの最短コードに挑んだコードゴルフ大会 in Code 2013
(ε・◇・)з o O ( 今回は可読性を意識しつつコードを削りました
(ε・◇・)з o O ( 以下のコードがベースです
(ε・◇・)з o O ( ここから人力で minify し
(ε・◇・)з o O ( setInterval(function...) を setInterval('...')に直すと、284文字になります〜
(ε・◇・)з o O ( 284文字版の動作するコードはこちら http://jsfiddle.net/uupaa/Mgc6R/
var currentTime = 0; reverseDigit = "75557111117471771717117557174775747111177575771757"; dotPattern = { 1: " ■ ", 2: " ■ ", 4: "■ ", 5: "■ ■ ", 7: "■■■ " }; setInterval(function tick() { var html = ""; var min = currentTime / 60 | 0; var sec = currentTime++ % 60; for (var i = 5; i--; ) { html += toDotLine(min / 10 | 0) + toDotLine(min % 10) + (i % 2 ? dotPattern[2] : " ") + toDotLine(sec / 10 | 0) + toDotLine(sec % 10) + "<br />"; } document.body.innerHTML = html; function toDotLine(num) { // @arg Integer: digit. 0 ~ 9 // @ret String: dot pattern return dotPattern[ reverseDigit[num * 5 + i] ]; } }, 1000);
(ε・◇・)з o O ( もうちょっと削って273文字になりました http://jsfiddle.net/uupaa/V2hGn/1/
B=0; D="75557111117471771717117557174775747111177575771757"; P=" , ■ , ■ ,,■ ,■ ■ ,,■■■ ".split(","), setInterval('r="",m=B/60|0,s=B++%60;for(i=5;i--;r+=Z(m/10|0)+Z(m%10)+P[i%2*2]+Z(s/10|0)+Z(s%10)+"<br>")function Z(n){return P[D[n*5+i]]}document.body.innerHTML=r',1e3)