2010年11月13日 更新

まずは実際にゲームをプレイしてみるのだ!

矢印キー左右で移動、エンターキーで回転、F5キーなどで再読み込みすればリセットだ。

(その他のキーを押すとブロックが変な動きをしたりするので注意)

 

ゲーム開始

 

これは2chで発明されたもので、JavaScriptで作られたこれ以外にも、

C言語でオセロが6行で作られていたりもする。

6行オセロは、VisualStudioでコンパイルしたらエラーが出たので俺は諦めてしまったが…

スレで動作確認できている人が沢山いるので、gccとかのコンパイラならコンパイルできるのだろう。

 

そんな神技が生まれたスレッドはこちら

 

七行プログラミング

http://pc.2ch.net/tech/kako/984/984182993.html

 

七行プログラミング part2

http://pc3.2ch.net/tech/kako/1018/10188/1018840143.html

 

さぁ、7行テトリスの話に戻ろう。

気になるソースコードだが、テトリスの画面で、右クリック→ソースの表示 をすれば見られる。

だが、HTMLソースに広告コードが入ってしまうので、余計なコードが大量に付加されている。

なので、ここに元ソースを表示しよう

 

<body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y()
{C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/
A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1
if(e=!e){if(f|B){for(l=228;i--;)Z[h+B[i]]=k=1;for(B=[[-7,-20,6,17,-9,3,6][t=++t
%7]-4,0,1,t-6?-A:-1];l--;h=5)if(l%A)l-=l%A*!Z[l];else for(P+=k++,j=l+=A;--j>A;)
Z[j]=Z[j-A]}h+=A}for(i=S="";i<240;X[i]=Z[i]|=++i%A<2|i>228)i%A?0:S+="<br>",S+=X
[i]?"■":"_";document.body.innerHTML=S+P;Z[5]||setTimeout(Y,99-P)}Y()</script>

 

2ちゃんねるのプログラマーは化け物か!

こんなとてつもないコードがよく動作してるな… と思うぜ…

7行を解読するだけでも難しい…


コメント一覧

下に行くほど新しいコメントです

今やったら41点…(ノ△`)
次のブロックが見えないから瞬間的な判断が必要になるな…
初めまして。最近、WEBプログラミングを始めたのですが、まだまだ簡単なものしか
作れてません。。すごいと思います!!!!!
うん、すごいよね〜
最新のはもう少し短かったような
検索したところ、確かにそのようです。6行でいけてる!

他に分かったこと
・7行テトリスの作者は実は著名人
・6行にしたのは2chのレスが最初っぽい? スレッド『七行プログラミング part6』の9番と35番(考案が9番で35番が修正した感じ?)
・はてなのコメント欄でも無名の辻プログラマーが6行を作って置いていった(2chのとは少し違うようなので、その人がまた別に考えたものかも知れない)
ふれっしゅれも
スゲー

コメントをどうぞ

名前: