
/*@lԂ֐@@*/
function GetAngleToPoint(x,y)//̈ʒu@̈ʒu x,yɑ΂px߂B
{
	return atan2(y-GetY,x-GetX);
}
function GetAngleToAB(x1,y1,x2,y2)//̍W(x1,y1)̍W(x2,y2)܂ł̊px߂B
{
	return atan2(y2-y1,x2-x1);
}
function GetLengthToPoint(x,y)//̈ʒu@̈ʒu x,y܂ł̋߂B
{
	return ((x-GetX)^2+(y-GetY)^2)^(1/2);
}
function GetLengthToAB(x1,y1,x2,y2)//̍W_P`̍W_Q܂ł̋߂
{
	return ((x2-x1)^2+(y2-y1)^2)^(1/2);
}
function GetDouX(x,r,deg)//Cӂ̍W甼ar̉~Aw肳ꂽpxɒɉ~ƌwWԂ֐
{
	return x+r*cos(deg);
}
function GetDouY(y,r,deg)//Cӂ̍W甼ar̉~Aw肳ꂽpxɒɉ~ƌxWԂ֐
{
	return y+r*sin(deg);
}
/*@lԂ֐@܂Ł@*/

/*@`֌W̊֐@@*/
function GraphicDefault//OtBbN̐ݒɖ߂֐
{
	SetGraphicScale(1,1);
	SetGraphicAngle(0,0,0);
	SetAlpha(255);
	SetColor(255,255,255);
	SetRenderState(ALPHA);
}
let SwitchPosition=0;//摜؂ւ̃^C~Oϐ
function Drawsenemy(img)//d̎`֐@@DrawloopŐ錾邾ŁAIɊG̐؂ւs
{//imgŉ摜w肷
	GraphicDefault;
	LoadGraphic(img);
	SetTexture(img);
	if(SwitchPosition<8)
	{
		SetGraphicRect(0,0,31,31);
	}
	else if(SwitchPosition<14)
	{
		SetGraphicRect(32,0,63,31);
	}
	else
	{
		SetGraphicRect(64,0,95,31);
	}
	if(SwitchPosition==20)
	{
		SwitchPosition=0;
	}
	DrawGraphic(GetX,GetY);
	SwitchPosition++;
}
let TEXT_X=0;	let TEXT_Y=0;//DrawMusicpOϐ
function DrawMusic(name)//ėp@Ȗ`֐  Xe[WȂ@DrawTopObjectŎgp𐄏
{
	SetFontColor(200,200,200,100,100,100);
	TEXT_X+=5;
	if(TEXT_X<=maxx-64)
	{
		DrawText(""~name,maxx-TEXT_X,maxy-32,17,255);
	}
	else if(TEXT_X<=maxx+300)
	{
		DrawText(""~name,maxx-(maxx-64),maxy-32,17,255);
	}
	else
	{
		if(TEXT_Y<=32)
		{
			DrawText(""~name,maxx-(maxx-64),maxy-32+TEXT_Y,17,255);
			TEXT_Y+=0.5;
		}
	}
}
let COUNT_B=0;//DrawBackGraphicpϐ
function DrawBackGraphic(name,x1,y1,x2,y2,rollx,rolly)//wi摜\鎩XN[Ή֐
{
	SetGraphicRect(x1,y1,x2,y2);
	SetTexture(name);
	let by=cy-y2+(COUNT_B*rolly)%y2;
	while(by<=cy+y2)
	{
		let bx=cx-x2+(COUNT_B*rollx)%x2;
		while(bx<=cx+x2)
		{
			DrawGraphic(bx,by);
			bx+=x2;
		}
		by+=y2;
	}
	COUNT_B++;
}
/*̊֐HAL900̂؂ l̂ƂŌJĂ镨Ŋ֐ł*/
let FADE_TIME=0;//t[JEg擾DrawCrossFadeText֐pOϐ
let FADE_TEXTX=0;//`ʒuXChDrawCrossFadeText֐pOϐ
function DrawCrossFadeText(name1,name2,textx1,texty1,textx2,texty2)//Cӂ̕PFŕ\ẢɃNXtF[h̃ftHgJ[ŕQ\֐
{

/*	Dݐݒ		*/
	let FontSize1=17;//	P̕TCY		͂PV
	let FontSize2=17;//	Q̕TCY		͂PV
	let FadeStart=30;//	Q̕`̊Jn	͂ROt[
	let FadeIn=60;//	tF[hCɂ鎞	͂UOt[
	let Draw=100;//		̉Ԃ̕`掞		͂PQOt[
	let FadeOut=60;//	tF[hAEgɂ鎞	͂UOt[
	let Shift=8;//		XCh		͂W@RƐȓۏႵ܂
	let DrawEnd=0;//	SĂ̕`I鎞	͎itF[hAEgIƓɑSď܂j
/*	Dݐݒ肱܂	*/

	if(DrawEnd<=FadeStart+FadeIn+Draw+FadeOut)//DrawEnd̍vȂꍇ̏
	{
		DrawEnd=FadeStart+FadeIn+Draw+FadeOut;
	}
	if(FADE_TIME<DrawEnd)//`掞Ԓ
	{
		SetFontColor(240,240,0,255,255,255);//Fۂɐݒ
		DrawText(name1,textx1,texty1,FontSize1,255);
		SetFontColor(255,255,255,255,255,255);//Fɐݒ肷
		if(FADE_TIME<FadeStart)
		{
			;
		}
		else if(FADE_TIME<FadeStart+FadeIn)//tF[hC̏
		{
			FADE_TEXTX=(FadeStart+FadeIn)*Shift-FADE_TIME*Shift;
			DrawText(name2,textx2+FADE_TEXTX,texty2,FontSize2,128);//ŕ`@EXCh
			DrawText(name2,textx2-FADE_TEXTX,texty2,FontSize2,128);//ŕ`@XCh
		}
		else if(FADE_TIME<FadeStart+FadeIn+Draw)//̉@2b
		{
			DrawText(name2,textx2,texty2,FontSize2,255);//̉`
		}
		else if(FADE_TIME<FadeStart+FadeIn+Draw+FadeOut)//tF[hAEg̏@2b
		{
			FADE_TEXTX=(FADE_TIME-FadeStart-FadeIn-Draw)*Shift;//l0@Pt[ɂS@300͍̂ŏ0ɂ邽
			DrawText(name2,textx2+FADE_TEXTX,texty2,FontSize2,128);//ŕ`@EXCh
			DrawText(name2,textx2-FADE_TEXTX,texty2,FontSize2,128);//ŕ`@XCh
		}
	}
	FADE_TIME++;//JEg𑝂₷
}
let SWITCH_POSITION_B=0;//t[JEgi[Drawfaily֐pOϐ
let MOVE_B=0;//0=ʌ 1=E 2=𔻒Ei[Drawfaily֐pOϐ
let CHANG_B=0;//ʁÊP`Rڂ̂ǂꂩoDrawfaily֐pOϐ
let HEANDHE_B=0;//ԉ摜pt[JEgi[Drawfaily֐pOϐ
let POSX_B=GetX;//Pt[O̎XWi[Drawfaily֐pOϐ
function Drawfaily(img,no)//d̎`֐part2
{
/*	[Dݐݒ]	ȉ̕ϐ̒lς鎖łD݂̐ݒ肪ł܂	*/

	let img1=10;	//Pڂ`悷t[			ݒPOt[	P`Rڂ͓Ԃg
	let img2=10;	//Qڂ`悷t[			ݒPOt[	oołv
	let img3=10;	//Rڂ`悷t[			ݒPOt[	ňSE_
	let img4=7;	//ԉ摜`悷t[@		ݒVt[	P`Rڂ萔傫ƈa܂
	let scope_L=1.2;//ړɐʌƂċe鍶ړW	ݒPDQ		lقǁ@xxłɂ܂iOŐȊOSj
	let scope_R=1.2;//ړɐʌƂċeEړW	ݒPDQ		scope_Lscope_R͓l𐄏܂BẼoX鋰ꂪ܂

/*		͓̕ɂȂĖ肠܂		*/

//	HEANDHE_B -img4`+img4̊Ԃŕϓ@-ƉEɕςĂŒ@+ƍɕςĂŒ

	let imgrect=[];//ԍŏ̒Z`摜̐؂o͈͂i[锠
	let imgshift=0;//ŏ̉摜玟̉摜ɐ؂ւx̑i[ϐ
	if(no==1){imgrect=[0,0,31,31];imgshift=32;}else if(no==2){imgrect=[224,0,255,31];imgshift=32;}else if(no==3){imgrect=[0,32,47,79];imgshift=48;}else if(no==4){imgrect=[0,80,47,127];imgshift=48;}
	else if(no==5){imgrect=[0,128,47,175];imgshift=48;}else if(no==6){imgrect=[0,176,47,223];imgshift=48;}else if(no==7){imgrect=[0,224,63,287];imgshift=64;}else if(no==8){imgrect=[0,288,63,351];imgshift=64;}
	LoadGraphic(img);
	SetTexture(img);
	if(GetX<=POSX_B+scope_R && GetX>=POSX_B-scope_L)//ʌ
	{
		SetGraphicRect(imgrect[0]+imgshift*3,imgrect[1],imgrect[2]+imgshift*3,imgrect[3]);
		if(MOVE_B==1)//Eڍs𒲂ׂ
		{
			SWITCH_POSITION_B=img1+img2+img3+10;//ԏ̎̃JEg			
		}
		if(MOVE_B==2)//ڍs𒲂ׂ
		{
			SetGraphicAngle(180,0,0);//摜̔]ɂ
			SWITCH_POSITION_B=img1+img2+img3+10;//ԏ̎̃JEg
		}
		if(SWITCH_POSITION_B>=img1+img2+img3+10)
		{
			if(HEANDHE_B<=img4)//ԉ摜`t[
			{
				HEANDHE_B++;
			}
			else
			{
				HEANDHE_B=0;
			}
			if(CHANG_B==1 && HEANDHE_B==0)//CHANG_B̏Ԃ{̃t[JEg̊o
			{
				SWITCH_POSITION_B=img1;//݂̉摜̎̉摜w肷
				MOVE_B=0;//ʌ
			}
			if(CHANG_B==2 && HEANDHE_B==0)
			{
				SWITCH_POSITION_B=img1+img2;
				MOVE_B=0;//ʌ
			}
			if(HEANDHE_B==0)
			{
				SWITCH_POSITION_B=0;
				MOVE_B=0;//ʌ
			}
		}
		else if(SWITCH_POSITION_B<=img1)
		{
			SetGraphicRect(imgrect[0],imgrect[1],imgrect[2],imgrect[3]);
			CHANG_B=1;
		}
		else if(SWITCH_POSITION_B<=img1+img2)
		{
			SetGraphicRect(imgrect[0]+imgshift,imgrect[1],imgrect[2]+imgshift,imgrect[3]);
			CHANG_B=2;
		}
		else
		{
			SetGraphicRect(imgrect[0]+imgshift*2,imgrect[1],imgrect[2]+imgshift*2,imgrect[3]);
			CHANG_B=3;
		}
		if(SWITCH_POSITION_B>img1+img2+img3 && SWITCH_POSITION_B<img1+img2+img3+10 || SWITCH_POSITION_B>=img1+img2+img3+img4+10)
		{
			SWITCH_POSITION_B=0;
		}
	}
	else if(GetX>POSX_B)//E
	{
		SetGraphicRect(imgrect[0]+imgshift*3,imgrect[1],imgrect[2]+imgshift*3,imgrect[3]);
		if(MOVE_B==0)//ʂEɈڍs𒲂ׂ
		{
			SWITCH_POSITION_B=img1+img2+img3+10;//ԏ̎̃JEg
		}
		if(MOVE_B==2)//琳ʌɕύXĂ@͂̏sȂOɉEɕύXĂ邩ׂ
		{
			HEANDHE_B--;
		}
		if(SWITCH_POSITION_B>=img1+img2+img3+10)//ԏǂ𔻒f
		{
			if(HEANDHE_B>=img4)
			{
				HEANDHE_B--;
			}
			else
			{
				HEANDHE_B=0;
			}
			if(CHANG_B==1 && HEANDHE_B==0)//CHANG_B̏Ԃڍs̃t[JEg̊o
			{
				SWITCH_POSITION_B=img1;//݂̉摜̎̉摜w肷
				MOVE_B=1;//E
			}
			if(CHANG_B==2 && HEANDHE_B==0)
			{
				SWITCH_POSITION_B=img1+img2;
				MOVE_B=1;//E
			}
			if(HEANDHE_B==0)
			{
				SWITCH_POSITION_B=0;
				MOVE_B=1;//E
			}
		}
		else if(SWITCH_POSITION_B<=img1)
		{
			SetGraphicRect(imgrect[0]+imgshift*4,imgrect[1],imgrect[2]+imgshift*4,imgrect[3]);
			CHANG_B=1;
		}
		else if(SWITCH_POSITION_B<=img1+img2)
		{
			SetGraphicRect(imgrect[0]+imgshift*5,imgrect[1],imgrect[2]+imgshift*5,imgrect[3]);
			CHANG_B=2;
		}
		else
		{
			SetGraphicRect(imgrect[0]+imgshift*6,imgrect[1],imgrect[2]+imgshift*6,imgrect[3]);
			CHANG_B=3;
		}
		if(SWITCH_POSITION_B>img1+img2+img3 && SWITCH_POSITION_B<img1+img2+img3+10 || SWITCH_POSITION_B>=img1+img2+img3+img4+10)
		{
			SWITCH_POSITION_B=0;
		}
	}
	else if(GetX<POSX_B)//
	{
		SetGraphicRect(imgrect[0]+imgshift*3,imgrect[1],imgrect[2]+imgshift*3,imgrect[3]);
		SetGraphicAngle(180,0,0);//摜̔]ɂ
		if(MOVE_B==0)//ʂ獶Ɉڍs𒲂ׂ
		{
			SWITCH_POSITION_B=img1+img2+img3+10;//ԏ̎̃JEg
		}
		if(MOVE_B==1)//琳ʌɕύXĂ@͂̏̑OɉEɕύXĂ邩𒲂ׂ
		{
			HEANDHE_B++;
		}
		if(SWITCH_POSITION_B>=img1+img2+img3+10)//ԏǂ𔻒f
		{
			if(HEANDHE_B<=img4)
			{
				HEANDHE_B++;
			}
			else
			{
				HEANDHE_B=0;
			}
			if(CHANG_B==1 && HEANDHE_B==0)//CHANG_B̏Ԃ{̃t[JEg̊o
			{
				SWITCH_POSITION_B=img1;//݂̉摜̎̉摜w肷
				MOVE_B=2;//
			}
			if(CHANG_B==2 && HEANDHE_B==0)
			{
				SWITCH_POSITION_B=img1+img2;
				MOVE_B=2;//
			}
			if(HEANDHE_B==0)
			{
				SWITCH_POSITION_B=0;
				MOVE_B=2;//
			}
		}
		else if(SWITCH_POSITION_B<=img1)
		{
			SetGraphicRect(imgrect[0]+imgshift*4,imgrect[1],imgrect[2]+imgshift*4,imgrect[3]);
			CHANG_B=1;
		}
		else if(SWITCH_POSITION_B<=img1+img2)
		{
			SetGraphicRect(imgrect[0]+imgshift*5,imgrect[1],imgrect[2]+imgshift*5,imgrect[3]);
			CHANG_B=2;
		}
		else
		{
			SetGraphicRect(imgrect[0]+imgshift*6,imgrect[1],imgrect[2]+imgshift*6,imgrect[3]);
			CHANG_B=3;
		}
		if(SWITCH_POSITION_B>img1+img2+img3 && SWITCH_POSITION_B<img1+img2+img3+10 || SWITCH_POSITION_B==img1+img2+img3+img4+10)
		{
			SWITCH_POSITION_B=0;
		}
	}
	DrawGraphic(GetX,GetY);//摜`@ƂI
	SWITCH_POSITION_B++;//t[JEg𑝂₷
	POSX_B=GetX;//PÎwWi[@VȎɂȂ̔rɎgB
	SetGraphicAngle(0,0,0);//摜̊pxɖ߂
}
let CIRCLE_U=0;//`pxǗt[Ǘϐ
let POW_U=0;//`{Ǘϐ
let MAGIC_COUNT_U=0;//؂ւǗϐ
function DrawMagicCircle(img,part)//nâ悤Ȗ@w`悷֐
{//imgɂ͎gp摜@partɂ0 1 2 3 4̂ꂩ̐lw肷

/*	Dݐݒ		*/

	let START_FREAME=60;				//摜`悵Ȃt[			F60
	let SPEED_FREAME=40;				//摜g傳t[			F40
	let SPEED_POW=0.045;				//g厞1t[Ɋg傷{	F0.045
	let MAX_POW=2.0;					//摜̊ő{					F2.0
	let MIN_POW=1.3;					//摜̊ŏ{					F1.3
	let ADD_PUSH_POW=rand(0.008,0.012);	//摜̂Pt[Ɋg傷{		Frand(0.008,0.012)
	let SUB_PUSH_POW=rand(0.008,0.012);	//摜̂Pt[ɏk{		Frand(0.008,0.012)

//ӎ
//MAX_POW<MIN_POWƕ`悪Ȃ܂
//START_FREAME0w肷ƌĂяoォg`Ɉڍs܂
//SPEED_FREAME0w肷ƁAg0X^[g܂
//g`START_FREAMEo߂ĂSPEED_FREAME̐ls܂
//SPEED_FREAME*SPEED_POWMAX_POW𒴂ƁAŏ傫Ȃ܂

//֑
//Sϐ@}CiX֎~
//_gĂȂϐɏ_܂ސl֎~

/*	Dݐݒ@܂	*/

	let no=0;//`p^[w肷ϐ
	let L_rect=[1, 33,64, 96, 2, 25,166,318, 22,164,308];//摜̍Z`i[
	let U_rect=[1,  1, 0,  0,34, 94, 97, 94,244,244,238];//摜̏㑤Z`i[
	let R_rect=[30,62,95,127,45,126,283,430,127,284,441];//摜̉EZ`i[
	let D_rect=[30,30,31, 31,77,215,214,204,365,365,371];//摜̉Z`i[
	LoadGraphic(img);
	SetTexture(img);
	GraphicDefault;
	if(part==0)//fތ@Tv@wƂقړ`
	{
		SetGraphicAngle(0,0,CIRCLE_U*3);
		SetGraphicScale(POW_U,POW_U);
		SetAlpha(210);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*-2);
		SetGraphicScale(POW_U/1.5,POW_U/1.5);
		SetAlpha(170);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*-2);
		SetGraphicScale(POW_U,POW_U);
		SetGraphicRect(L_rect[6],U_rect[6],R_rect[6],D_rect[6]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*-2+45);
		SetGraphicScale(POW_U,POW_U);
		SetGraphicRect(L_rect[6],U_rect[6],R_rect[6],D_rect[6]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*2+45);
		SetGraphicScale(POW_U,POW_U);
		SetGraphicRect(L_rect[6],U_rect[6],R_rect[6],D_rect[6]);
		DrawGraphic(GetX,GetY);
	}
	else if(part==1)//~`摜̖@w@vZ͒nɕG
	{
		SetGraphicAngle(0,0,CIRCLE_U*3);
		SetGraphicScale(POW_U*1.1,POW_U*1.1);
		SetAlpha(210);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*-2);
		SetGraphicScale(POW_U*0.8,POW_U*0.8);
		SetAlpha(170);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U);
		SetGraphicScale(POW_U/2,POW_U/2);
		SetAlpha(130);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		let deg=30;
		while(deg<=360)
		{
			SetGraphicAngle(0,0,CIRCLE_U*-2.5);
			SetGraphicScale(POW_U/2,POW_U/2);
			SetAlpha(128);
			SetGraphicRect(L_rect[3],U_rect[3],R_rect[3],D_rect[3]);
			DrawGraphic(GetDouX(GetX,POW_U*57.5,deg-CIRCLE_U*2.5),GetDouY(GetY,POW_U*57.5,deg-CIRCLE_U*2.5));
			GraphicDefault;
			deg+=30;
		}
		let deg=45;
		while(deg<=360)
		{
			SetGraphicAngle(0,0,CIRCLE_U*1.5);
			SetGraphicScale(POW_U/2,POW_U/2);
			SetAlpha(128);
			SetGraphicRect(L_rect[2],U_rect[2],R_rect[2],D_rect[2]);
			DrawGraphic(GetDouX(GetX,POW_U*40,deg+CIRCLE_U*1.5),GetDouY(GetY,POW_U*40,deg+CIRCLE_U*1.5));
			GraphicDefault;
			deg+=45;
		}
		let deg=90;
		while(deg<=360)
		{
			SetGraphicAngle(0,0,CIRCLE_U*-0.5);
			SetGraphicScale(POW_U/2,POW_U/2);
			SetAlpha(128);
			SetGraphicRect(L_rect[3],U_rect[3],R_rect[3],D_rect[3]);
			DrawGraphic(GetDouX(GetX,POW_U*20,deg-CIRCLE_U*0.5),GetDouY(GetY,POW_U*20,deg-CIRCLE_U*0.5));
			deg+=90;
		}
	}
	else if(part==2)//g~{8p`{g~{_u3p`Q@Ȗ@w
	{
		SetGraphicAngle(0,0,CIRCLE_U*3);
		SetGraphicScale(POW_U,POW_U);
		SetAlpha(210);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*-2.5);
		SetGraphicScale(POW_U*0.8,POW_U*0.8);
		SetAlpha(170);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*2);
		SetGraphicScale(POW_U,POW_U);
		SetGraphicRect(L_rect[9],U_rect[9],R_rect[9],D_rect[9]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*-2.5);
		SetGraphicScale(POW_U*0.8,POW_U*0.8);
		SetGraphicRect(L_rect[5],U_rect[5],R_rect[5],D_rect[5]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		SetGraphicAngle(0,0,CIRCLE_U*2.5+90);
		SetGraphicScale(POW_U*0.8,POW_U*0.8);
		SetGraphicRect(L_rect[5],U_rect[5],R_rect[5],D_rect[5]);
		DrawGraphic(GetX,GetY);
	}
	else if(part==3)//]~w̒ɋt]~T`悵Ả~̎ɐ]閂@wTS`
	{
		SetGraphicAngle(0,0,CIRCLE_U*3);
		SetGraphicScale(POW_U,POW_U);
		SetAlpha(210);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
		GraphicDefault;
		let deg=72;
		while(deg<=360)
		{
			SetGraphicAngle(0,0,CIRCLE_U*-4);
			SetGraphicScale(POW_U/2,POW_U/2);
			SetAlpha(180);
			SetGraphicRect(L_rect[4],U_rect[4],R_rect[4],D_rect[4]);
			DrawGraphic(GetDouX(GetX,POW_U*35,deg-CIRCLE_U*3),GetDouY(GetY,POW_U*35,deg-CIRCLE_U*3));
			GraphicDefault;
			deg+=72;
		}
		let angle=0;
		loop(5)
		{
			let deg=90;
			while(deg<=360)
			{
				SetGraphicAngle(0,0,CIRCLE_U*5);
				SetGraphicScale(POW_U/2.0,POW_U/2.0);
				SetAlpha(150);
				SetGraphicRect(L_rect[1],U_rect[1],R_rect[1],D_rect[1]);
				DrawGraphic(GetDouX(GetDouX(GetX,POW_U*35,angle-CIRCLE_U*3),POW_U*18,deg-CIRCLE_U*5),GetDouY(GetDouY(GetY,POW_U*35,angle-CIRCLE_U*3),POW_U*18,deg-CIRCLE_U*5));
				GraphicDefault;
				deg+=90;
			}
			angle+=72;
		}
		SetGraphicAngle(0,0,CIRCLE_U*-4);
		SetGraphicScale(POW_U/5,POW_U/5);
		SetAlpha(210);
		SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
		DrawGraphic(GetX,GetY);
	}
	else if(part==4)//s\
	{
			SetGraphicAngle(0,0,CIRCLE_U*3);
			SetGraphicScale(POW_U,POW_U);
			SetAlpha(210);
			SetGraphicRect(L_rect[10],U_rect[10],R_rect[10],D_rect[10]);
			DrawGraphic(GetX,GetY);
			GraphicDefault;
		let yyy=0;
		loop(15)
		{
			SetGraphicAngle(CIRCLE_U*2+yyy,CIRCLE_U*3+yyy,CIRCLE_U*3);
			SetGraphicScale(POW_U,POW_U);
			SetAlpha(210);
			SetGraphicRect(L_rect[8],U_rect[8],R_rect[8],D_rect[8]);
			DrawGraphic(GetX,GetY);
			yyy+=10;
		}
		GraphicDefault;
	}
	else//K萔lȊOw肳Ă邩ׂ
	{//w肳Ă
		RaiseError("ɂ0~4̐w肵Ă","DrawMagicCircle`G[");
	}//G[oďI
	GraphicDefault;
	CIRCLE_U++;//JEg
/*	ȉgEk	*/
	if(CIRCLE_U<=START_FREAME)
	{
		;//Ȃ
	}
	else if(CIRCLE_U<=START_FREAME+SPEED_FREAME)//w肳ꂽt[͍Ŋg`
	{
		POW_U+=SPEED_POW;
	}
	else if(POW_U<=MIN_POW && MAGIC_COUNT_U==0)//kgɐ؂ւ
	{
		MAGIC_COUNT_U=1;//ɃtO؂ւ
	}
	else if(POW_U>=MAX_POW && MAGIC_COUNT_U==1)//g偨kɐ؂ւ
	{
		MAGIC_COUNT_U=0;//ɃtO؂ւ
	}
	else if(MAGIC_COUNT_U==0)
	{
		POW_U-=ADD_PUSH_POW;
	}
	else if(MAGIC_COUNT_U==1)
	{
		POW_U+=SUB_PUSH_POW;
	}
}
function ReverseText(text)//w肳ꂽtɂĕԂ֐
{//textɂ͕w
	let w;
	let size=length(text)-1;
	ascent(i in 0..size/2)
	{
		w=text[i];
		text[i]=text[size-i];
		text[size-i]=w;
	}
	return text;
}
function DrawTextEx(text,x,y,size,alpha,type)//DrawTextɒǉIvVwł^Cv
{//typeɂ͕ŐFXȃ^Cvwł@DrawTextƓ
	let long=length(text);//߂
	let revtext=ReverseText(text);//ti[
	if(type=="REVERSE")//o[X@\w肵Ă邩
	{//o[X@\w肵Ă
		DrawText(revtext,x,y,size,alpha);
	}
	else
	{
		ascent(line in 0..long)
		{
			if(type=="COLUMNAR")//cw肩
			{
				DrawText(text[line],x,y+size*line,size,alpha);
			}
			else if(type=="REVERSE_COLUMNAR")//tcw肩
			{
				DrawText(revtext[line],x,y+size*line,size,alpha);
			}
			else if(type=="UP_LEFT")//㏑w肩
			{
				DrawText(text[line],x-size*line,y-size*line,size,alpha);
			}
			else if(type=="UP_RIGHT")//E㏑w肩
			{
				DrawText(text[line],x+size*line,y-size*line,size,alpha);
			}
			else if(type=="DOWN_LEFT")//w肩
			{
				DrawText(text[line],x-size*line,y+size*line,size,alpha);
			}
			else if(type=="DOWN_RIGHT")//Ew肩
			{
				DrawText(text[line],x+size*line,y+size*line,size,alpha);
			}
			else if(type=="REVERSE_UP_LEFT")//㏑w肩
			{
				DrawText(revtext[line],x-size*line,y-size*line,size,alpha);
			}
			else if(type=="REVERSE_UP_RIGHT")//E㏑w肩
			{
				DrawText(revtext[line],x+size*line,y-size*line,size,alpha);
			}
			else if(type=="REVERSE_DOWN_LEFT")//w肩
			{
				DrawText(revtext[line],x-size*line,y+size*line,size,alpha);
			}
			else if(type=="REVERSE_DOWN_RIGHT")//Ew肩
			{
				DrawText(revtext[line],x+size*line,y+size*line,size,alpha);
			}
		}
	}
}
/*@`֌W̊֐@܂Ł@*/

/*@ړn̊֐@@*/
let DEG_C=0;//CircleMove01pOϐ
function CircleMove01(x,y,r,deg,degup)//̍Wx,yƂďpxdegar̒̒n_疈t[deguppxړ~Oړ֐
{
	DEG_C+=degup;
	SetX(x+r*cos(deg+DEG_C));
	SetY(y+r*sin(deg+DEG_C));
}
let DEG_C_A=0;//CircleMoveApOϐ
task CircleMoveA(x,y,r,rup,deg,degup)//̍Wx,yƂďpxdegar̒̒n_疈t[deguppxړ~Oړ֐
{
	let long=r;
	loop
	{
		DEG_C_A+=degup;
		long+=rup;
		SetX(x+long*cos(deg+DEG_C_A));
		SetY(y+long*sin(deg+DEG_C_A));
		yield;
	}
}
/*@ړn̊֐@܂Ł@*/