テトリス 7行プログラム(1行じゃないけど、回顧がてらに・・・)
その昔
2ch プログラム技術@2ch掲示板で、7行プログラムが流行り
(1行79文字という制約付・言語は何でもOK)
神様レベルの人間が、山ほど集った不思議なスレがあった・・・
これを Google Videoで見つけたとき
ふと、その時でてきた
7行テトリスのソースが欲しくて、
それをを探したわけだが
肝心のソースそっちのけで魅入ってしまう作品がいっぱい
今見ても信じられないレベル・・・
ベテランだからこそ、7行でテトリスが出来たんだろうけど
はじめは11行 しかもどうかんがえても 減らせられないようなのに、チビリチビリと不要部分を削っていく様は
まさに神業
↓
DVDプロテクトを解除するPerlが、たったの7行で書かれていた
それで作られた記念すべき、初スレ
いきなり テレビの砂嵐再現 という 良質のコンテンツが投下されて
このスレの方向が決まった・・・
6行オセロがすごい
337 名前: トリッキーの1 投稿日: 2001/08/21(火) 23:55
面白い題材が上がっていたので復帰します(笑)
7行オセロ、人間対無能AIです。#include
int p,t,a,d,c,v,i,m[90]={0},s,r[]={-10,-9,-8,-1,1,8,9,10};void k(){if(m[p]==0)
for(i=0;i<8;i++){for(c=0,v=p+r[i];m[v]==3-t;v+=r[i])c++;if(c&&m[v]==t){a+=c;v=
p;if(d)do m[v]=t,v+=r[i];while(m[v]!=t);}}}char*h="・○●\n";int main(){for(i=
1,m[41]=m[49]=2;i<10;m[i++*9]=3)m[40]=m[50]=t=s=1;for(;;a=d=0){for(p=9;p<82;++
p)k(),printf("%.2s",&h[m[p]*2]);if(a)for(d=a=s=p=8;a==8;k())t-2?(scanf("%d %d"
,&p,&i),p+=i*9):++p;else if(s)s=0,printf("pass");else break;t=3-t;}return 0;}もはやインデントを揃えた位では元のコードが読めなくなってしまっていますが、
もしコメント付き変数名まとものバージョンを欲しい方がいれば上げます。
ここで、伝説のテトリス登場
ちゃんと解説もしてあったんだ。ちょっと感激
>>212 で完成・・ S ◆Q14CxNhI さん 凄すぎ212 名前: S ◆Q14CxNhI 投稿日: 02/04/27 01:20
ついにやりました! テトリス7行達成です!!
叱咤激励いろいろいただきました、みなさんのレスに感謝いたします。遊び方:カーソル左右で移動、リターンキーで回転
プレイ環境:おそらく IE 5.01 以上?
...これは age て良かったですよね?
今も細々と進行中
こういう名物スレが、あまり世間に知られずに消えていくのは寂しいものです。
何かのトラブルで、過去スレが電子の藻屑になりませんように・・
BBC >> Tetris - From Russia With Love : http://video.google.com/videoplay?docid=4662636869909322164