プログラミングでもしようか

このエントリーをはてなブックマークに追加
152B
今からボンバーマンのソースを2回に分けて書き込むからOK?
153B1:2008/10/05(日) 16:59:42 ID:???0
<html><head><title>B</title><meta http-equiv="Content-Script-Type" content="text/javascript">
</head><body onkeydown="K=window.event.keyCode"><script type="text/javascript"><!--
K=0;c=0;BCNT=15;FCNT=5;FPWR=4;st=["  ","■"," A","●","炎","!A","∀","7","8","☆","10","∀","☆"];
abc = new Array(21*13);for(i=0;i<21*13;i++) abc[i]=1;for(i=1;i<20;i++) for(j=21;j<21*13;j+=42) abc[j+i]=0;
for(i=1;i<20;i+=2) for(j=42;j<21*11;j+=42) abc[j+i]=0;abc[21+1]=2;A=21+1;u=[1,1,1,1];T=[1,1,1,1];
for(i=0;i<4;i++){for(;;) if(abc[(T[i]=Math.floor(Math.random()*21*8)+21*5)]==0) break; abc[T[i]]=9;}
B=0;F=0;d=0;E=1;f=4; function MainLoop(){
if (E) { if ((K==37) && (abc[A-1]!=1) ) {abc[A]-=2;A--; abc[A]+=2;}
if ((K==38) && (abc[A-21]!=1)) {abc[A]-=2;A-=21;abc[A]+=2;}
if ((K==39) && (abc[A+1]!=1) ) {abc[A]-=2;A++; abc[A]+=2;}
if ((K==40) && (abc[A+21]!=1)) {abc[A]-=2;A+=21;abc[A]+=2;}
if ((K==32) && (c==0)) {c=BCNT; abc[A]+=3;B=A;}} S="";
if (c>0) { c--; if (c==0) {abc[B]++; F=B; d=FCNT;
for(i=1;i<FPWR;i++) if (abc[F+i]==1) break; else abc[F+i]+=4;
for(i=1;i<FPWR;i++) if (abc[F+i*21]==1) break; else abc[F+i*21]+=4;
for(i=1;i<FPWR;i++) if (abc[F-i]==1) break; else abc[F-i]+=4;
for(i=1;i<FPWR;i++) if (abc[F-i*21]==1) break; else abc[F-i*21]+=4;}}
154B2:2008/10/05(日) 17:00:13 ID:???0
if (d>0) { d--; if(d==0) {abc[F]-=4;
for(i=1;i<FPWR;i++) if (abc[F+i]==1) break; else abc[F+i]-=4;
for(i=1;i<FPWR;i++) if (abc[F+i*21]==1) break; else abc[F+i*21]-=4;
for(i=1;i<FPWR;i++) if (abc[F-i]==1) break; else abc[F-i]-=4;
for(i=1;i<FPWR;i++) if (abc[F-i*21]==1) break; else abc[F-i*21]-=4;}}
if (E) for(i=0;i<4;i++) if (u[i]) if (abc[T[i]]==4+9) { u[i]=0;abc[T[i]]-=9;f--;}
else { P=Math.floor(Math.random()*8)+35; R=T[i];
if ((P==37) && (abc[R-1]==0) ) {abc[R]-=9;R--; abc[R]+=9;}
if ((P==38) && (abc[R-21]==0)) {abc[R]-=9;R-=21;abc[R]+=9;}
if ((P==39) && (abc[R+1]==0) ) {abc[R]-=9;R++; abc[R]+=9;}
if ((P==40) && (abc[R+21]==0)) {abc[R]-=9;R+=21;abc[R]+=9;} T[i]=R; }
if ((abc[A]==2+4) || (abc[A]==2+9) || (f==0)) { E=0; d=0;c=0; }
for(i=0;i<21*13;i++) { S+=st[abc[i]]; if (i % 21 == 20) S+="<br>"; }
K=0; document.body.innerHTML=S; setTimeout("MainLoop()",100);} MainLoop();
//--></script></body></html>
155B:2008/10/05(日) 17:02:42 ID:???0
このソースをテトリスの奴と同じ要領で、メモ帳に貼り付けて、HTMLで保存すればいい
カーソルキーで移動、スペースキーで爆弾

なお、パソコンのスペックによってスピードかわるから、早すぎたり遅すぎたりしたときは
setTimeout("MainLoop()",100);の100の部分を適当な数字に変えてくれ
156B:2008/10/05(日) 17:04:55 ID:???0
あまりにもやっつけなのでゲーム性は皆無だよ。
死ぬ時は、爆弾の炎にやられるか、自ら敵につっこむかだけ