    //ˋ̐ݒuEǗ
    //gpO[oϐFȂ
    //o̓O[oϐFListMirrors, x0Mirrors, y0Mirrors, Ang0Mirrors

    sub Mirror			//ˋݒu
    {
        let L = 190;
        let D = 10;
        let dAng = 5;			//ˋ̊px(0.5`1悴)
        let dAngMax = [5, 10, 15, 20, 25][Level];	//ˋUpx
        let Img = WHITE01;
        let AngX = [0, 0, 90, 90, rand(0, 360)][Level];	//ꔽˋΊp

        let time = TimeToShot;		//˒x

        ascent(i in 0..6)
        {
            dAng *= rand(0.5, 1) * (2 * rand_int(0, 1) -1);	//px␳
            let X = [GetCenterX + L * cos(AngX), GetCenterY +L * sin(AngX)];	//[U[W
            let Ang0 = AngX + 120;		//[U[˕

            TMirrorLaser(X, L, D, Ang0, Img, time, dAng, dAngMax);	//ݒu

            AngX += 60;

        }
    }


    //˗p[U[̐EǗ
    //ݒO[oϐFListMirrors, x0Mirrors, y0Mirrors, Ang0Mirrors
    task TMirrorLaser(X, L, D, Ang0, Img, time, dAng, dAngMax)	//˗p[U[
    {
        //b
        let obj = Obj_Create(OBJ_LASER);
        Obj_SetPosition(obj, X[0], X[1]);
        Obj_SetAngle(obj, Ang0);
        ObjLaser_SetLength(obj, L);
        ObjLaser_SetWidth(obj, D);
        ObjShot_SetGraphic(obj, Img);
        ObjShot_SetDelay(obj, time);
        ObjLaser_SetSource(obj, false);

        let Ang = Ang0;	
        let X0 = [X[0] + L * cos(Ang) /2, X[1] + L * sin(Ang) / 2];	//[U[S

        //O[oϐ
        ListMirrors = ListMirrors ~ [obj];
        x0Mirrors = x0Mirrors ~ [X0[0]];
        y0Mirrors = y0Mirrors ~ [X0[1]];
        Ang0Mirrors = Ang0Mirrors ~ [Ang0];

        wait(time);			//˒x

        //ˋU
        loop
        {
            Ang += dAng;
            if ( absolute(Ang - Ang0)  >= dAngMax )
            {
                dAng *= -1;
            }

            X = [X0[0] - L * cos(Ang) / 2, X0[1] - L * sin(Ang) / 2];
            Obj_SetPosition(obj, X[0], X[1]);
            Obj_SetAngle(obj, Ang);
            yield;
        }
    }