Home → 第6章:その他(雑話) → 681バイトのぷよぷよ


681バイトのぷよぷよ(2008年1月21日記載)

正月(2008年1月)に、ぷよぷよ関連のサイトを見ていたら驚くプログラムコードを見つけました。

なんと、681バイトで動く「ぷよぷよ」です。
サイトは、「pascal's memo」内の「Short Coding」の記事(第0章:はじめに(共通)外部リンク参照)です。

このような、短いプラグラムコードで「ぷよぷよ」がしっかりと動くのには感動しました。

表1は、プログラムコードです。

表1
<body onKeyDown=K=event.keyCode-38 id=D><script>for(M=N=[i=113];--i;M[i-1]=i%8<
2|i<8)function Y(){e++;if(e%=10)for(N=[K-2?K-50?h-=M[h+l-K]|M[h-K]?0:K:M[h+p]||
(x=p,p=-l,l=x):e=0],K=0;++i<113;N[i]=M[i])N[h]=B>>2,N[h+l]=B%4-B%1+2;if(!e&&(h
-=8,!g||M[h]+M[h+l])){C=[M=N];for(i=g=1;++i<103;!M[i]*n&&(M[i]=n,g=M[i+8]=0))n=
M[i+8];for(;--i;){n=c=0;for(E=[i];g&M[i]>1&n>=c>>2;t>102|C[t]|M[i]-M[t]||(E[++n
]=C[t]=t))t=p,p=-l,l=t,t+=E[c++>>2];for(;c>16&&n;)g=M[E[n--]]=0}B=g?Math.random
(h=100,l=8,p=-1)*16+8:--e}for(i=104,S="";i--;S+=n--?n?"<a style=color:#"+(248*n
)+">●"+"</a>":i%8?"■":"■<br>":"_")n=N[i];D.innerHTML=S;M[100]*g||setTimeout
(Y,50)}Y(g=h=e=9,l=p=K=0)</script>

表1は、前述のpascal氏のページ内に記載されているソースコードです。
テキストエディタにコピー&ペーストして、htmもしくはhtmlの拡張子で保存すると準備完了です。
保存後のファイル容量を見ると681バイトになっています。

Webページをブラウザで開くとプログラム実行です。セキュリティでブロックされた場合は許可してください。
動かし方は、左右下キーで移動、Xキーで右回転です。


プログラムコード実行

以下は、上記の実行ページです。


実行データ:681バイトぷよぷよ(別ウィンドウ)



Homeへ戻る
Copyright(C) 2007 右脳式ぷよぷよルーム. All rights reserved.