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 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | // 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(); |