task TOptionMove {
	let MoveCount=0;
	loop {
		while(!bSlow) {
			ascent(n in 0..2){
				StarX[n]=PCenterX+[-1,1][n]*24;
    				StarY[n]=PCenterY;
				}
			yield;
			}
		FireFlag=false;
		ascent(i in MoveCount..20){
			ascent(n in 0..2){
				StarX[n]=(GetPlayerX*i+PCenterX*(20-i))/20+[-1,1][n]*24*cos(90/20*i);
    				StarY[n]=(GetPlayerY*i+PCenterY*(20-i))/20+24*sin(-90/20*i);
				}
			MoveCount++;
			if(!bSlow){break;}
			yield;
			}
		FireFlag=true;
		while(bSlow) {
			ascent(n in 0..2){
				StarX[n]=GetPlayerX;
    				StarY[n]=GetPlayerY-24;
				}
			yield;
			}
		descent(i in 0..MoveCount){
			ascent(n in 0..2){
				StarX[n]=(GetPlayerX*i+PCenterX*(20-i))/20+[-1,1][n]*24*cos(90/20*i);
    				StarY[n]=(GetPlayerY*i+PCenterY*(20-i))/20+24*sin(-90/20*i);
				}
			MoveCount--;
			if(bSlow){break;}
			yield;
			}
        	}
   	}
