1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | // 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(); |