説明
回転する葉っぱをスペースキーで撃って全部壊せばゲームクリアです。上から降ってくる@にあたるとゲームオーバーです。自機はカーソルキーの上下左右で動かすことができます。
// Boss 2
var leaf=new Array();
var n=0,total=8;
while(n<8){
leaf[n]=45*n;
n=n+1;
}
var fx=5,fy=11,k=0,rr=240;
var baseY=20,baseX=23;
var bx=32,by=0;
var tx=0,ty=0;
function key(n){ k=n; }
function main(){
// move fighter
if ((k==28)*(fx>0)){ fx=fx-1; }
if ((k==29)*(fx<13)){ fx=fx+1; }
if ((k==30)*(fy>1)){ fy=fy-1; }
if ((k==31)*(fy<21)){ fy=fy+1; }
if((k==32)*(bx>28)){
bx=fx;
by=fy;
}
ty=ty+1;
if(ty>22){
tx=fx+rnd(2);
ty=0;
}
k=0;
cls();
lc(baseX-1,baseY-1);log(" # ");
lc(baseX-1,baseY);log("###");
lc(baseX-1,baseY+1);log("###");
lc(fx,fy);log(">");
lc(tx,ty);log("@");
// move beam
if (bx<29){
bx=bx+1;
lc(bx,by);log("--");
}
// move leaf
var n=0;
var r=rr/10;
while(n<8){
if (leaf[n]>-1){
leaf[n]=leaf[n]+8;
var x=baseX+sin8(leaf[n]+90)*r/250;
var y=baseY+sin8(leaf[n])*r/250;
lc(x,y);
if(((bx==x)+(bx+1==x))*(by==y)){
leaf[n]=-1;
bx=32;
log("*");
total=total-1;
if(total==0){
lc(11,9);
log("Game Clear");
lc(0,0);
exit();
}
}else{
if((x>-1)*(x<31)*(y>-1)*(y<22)){
log("O");
}
}
}
n=n+1;
}
if((fx==tx)*(fy==ty)){
lc(fx,fy);
log("**");
lc(11,9);
log("Game Over");
lc(0,0);
exit();
}
if(rr>60){ rr=rr-5; }
if((baseY>11)*(rr%10==0)){ baseY=baseY-1; }
setTout(main,20);
}
setKprs(key);
main();
目次に戻る