説明
ボスの口から吐き出される葉っぱ(棒ですが)を避けつつ、ボスの口を撃って倒してください。葉っぱ(棒みたいですが)に当たると即ゲームオーバーです。自機はカーソルキーの上下左右で動かすことができます。ショットはスペースキーです。ボスの耐久度は口の所に表示されており0になるとゲームクリアとなります。なお、無敵状態にしたい場合はif(scr(fx,fy)>31){の31を331などに変更してください。
// Boss 1
var leaf=new Array();
var fx=5,fy=11;
var bx=0,by=-1,k=0;
var bossX=22,bossY=11,pow=3;
var n=0,r=0;
while(n<6){
var p=n*5;
leaf[p]=0; // Flag
leaf[p+1]=-1; // X
leaf[p+2]=-1; // Y
leaf[p+3]=0; // dy
leaf[p+4]=rnd(9); // rotate
n=n+1;
}
function key(n){ k=n; }
function main(){
// move fighter
if((k==28)*(fx>0)){fx=fx-1;}
if((k==29)*(fx<21)){fx=fx+1;}
if((k==30)*(fy>2)){fy=fy-1;}
if((k==31)*(fy<21)){fy=fy+1;}
if((k==32)*(by<0)){bx=fx;by=fy;}
k=0;
// start leaf
if(rnd(10)<4){
var n=0;
while(n<6){
var p=n*5;
if(leaf[p]==0){
leaf[p]=1;
leaf[p+1]=bossX*10;
leaf[p+2]=bossY*10;
leaf[p+3]=fy-bossY;
n=99;
}
n=n+1;
}
}
// move boss
bossY=11+sin8(r)/45;
r=r+5;
cls();
lc(bossX,bossY-4);log("#######");
lc(bossX,bossY-3);log("#o#####");
lc(bossX,bossY-2);log("#######");
lc(bossX,bossY-1);log("#######");
lc(bossX,bossY);log(pow,"######");
lc(bossX,bossY+1);log("#######");
// move leaf
var n=0;
while(n<6){
var p=n*5;
if(leaf[p]==1){ // to left
leaf[p+1]=leaf[p+1]-10;
if(leaf[p+1]<10){ leaf[p]=0; }
leaf[p+2]=leaf[p+2]+leaf[p+3];
if((leaf[p+2]<0)+(leaf[p+2]>210)){ leaf[p]=0; }
leaf[p+4]=leaf[p+4]+1;
lc(leaf[p+1]/10,leaf[p+2]/10);
var a=leaf[p+4]%4;
if(a==0){ log("-"); }
if(a==1){ log("/"); }
if(a==2){ log("|"); }
if(a==3){ log("\\"); }
}
n=n+1;
}
// move beam
if((bx<29)*(by>-1)){
bx=bx+1;
lc(bx,by);log("--");
if(bx==28){ by=-1; }
}
if(scr(fx,fy)>31){
lc(11,9);
log("Game Over");
lc(0,0);
exit();
}
lc(fx,fy);log(">");
if((bx==bossX)*(by==bossY)){
pow=pow-1;
by=-1;
if(pow<1){
lc(11,9);
log("Game Clear!");
lc(0,0);
exit();
}
}
setTout(main,50);
}
setKprs(key);
main();
目次に戻る