#東方弾幕風 #Title[電脳「零と壱の境界」] #Text[弾幕風コンテスト第1回(2007/12)用。] #ScriptVersion[2] #BackGround[User()] script_enemy_main { @Initialize { SetMovePosition02(GetCenterX,GetCenterY,1); SetLife(3000); attack; } @MainLoop { yield; } task attack{ loop(30){yield;} SpellStart; loop(120){yield;} CreateEnemyFromScript("Binary",GetX,GetY,0,0,0); } task SpellStart{ SetText("電脳「零と壱の境界」"); SetTimer(60); SetDurableSpellCard; SetScore(200000); } } script_enemy Binary{ let img = "script\ExRumia\img\Enemy.png"; let a=0; let sp=0; @Initialize{ SetLife(1000); LoadGraphic(img); attack; } @MainLoop{ if(a>60){ SetX(GetX*(1-sp) + GetPlayerX*sp); SetY(GetY*(1-sp) + GetPlayerY*sp); if(sp<0.05){sp+=0.0005;} } a++; yield; } task attack{ Explosion01(GetX,GetY,3,0.05,120); loop(120){yield;} ascent(i in 0..20){ ZeroOne(GetX,GetY,20+i*4,[WHITE01,AQUA01,YELLOW01][i%3]); loop(180){yield;} } } task ZeroOne(let ax,let ay,let k,let p){ Explosion01(ax,ay,255/k,0.1,k); ascent(x in 0..24){ ascent(y in 0..28){ if(rand(0,1)<0.5){ shotEx(GetClipMinX+x*16+8,GetClipMinY+y*16+8,ax,ay,k,p); } } } } task shotEx(let x,let y,let ax,let ay,let k,let col){ let dist = trunc( ( (x-ax)^2 + (y-ay)^2 )^0.5 /3); let ang=rand(0,360); if(dist