//ImageObj

let i=1;
let n=65-i;
let j=49-i;
let x =[i,n,n*2,n*3,n*4,n*5,n*6,n*7,n*8,n*9,n*10,n*11];
let y =[i,j,j*2,j*3,j*4,j*5,j*6,j*7,j*8,j*9,j*10,j*11];

let am = 0;
let m = 0;
sub Clock{
	if(am<5){m= 0;}
	if(am>5){m= 1;}
	if(am==10){am=0;}
	am++;
}
let Rt= 0;
let Ft= 0;
task RollMain{		
	if(Ft<=0){
		GetPain;
		ForbidShot(false);
		ForbidBomb(false);
	}
	if(counter%12==0){Rt++;}
	if(Rt==12){Rt=0;Ft=0;}
	if(Ft>=2){Ft=0;}
	yield;
}
task Rolling{
	ForbidShot(true);
	ForbidBomb(true);
	alternative(Rt)
	case(0){PlayerImg(x[0],y[0],x[1],y[1]);}
	case(1){PlayerImg(x[0],y[2],x[1],y[3]);}
	case(2){PlayerImg(x[1],y[2],x[2],y[3]);}
	case(3){PlayerImg(x[2],y[2],x[3],y[3]);}
	case(4){PlayerImg(x[3],y[2],x[4],y[3]);}
	case(5){PlayerImg(x[4],y[2],x[5]-1,y[3]);}
	case(6){PlayerImg(x[0],y[3],x[1],y[4]-1);}
	case(7){PlayerImg(x[1],y[3],x[2],y[4]-1);}
	case(8){PlayerImg(x[2],y[3],x[3],y[4]-1);}
	case(9){PlayerImg(x[3],y[3],x[4],y[4]-1);}
	case(10){PlayerImg(x[4],y[3],x[5]-1,y[4]-1);}
	case(11){PlayerImg(x[0],y[1],x[1],y[2]);}
	yield;
}
task PlayerImg(a,b,c,d){
	ImgEffect(Img[0],GetPlayerX,GetPlayerY,3,a,b,c,d,2);
	yield;
}

task ObjImg(Xobj,Yobj,a,b,c,d){
	ImgEffect(Img[1],Xobj,Yobj,4,a,b,c,d,2);
	yield;
}

let si=4;
let sn=[0,si*10,si*20,si*30,si*40,si*50];
let sj=[0,si*8,si*16,si*26,si*32,si*40];
task SideImg(Xobj,Yobj){
	if(Left){
		if(KeyHold>30){ImgEffect(Img[4],Xobj,Yobj,4,sn[0],sj[1]*m+1,sn[1],sj[1]*m+sj[1],2);}
		else{ImgEffect(Img[4],Xobj,Yobj,4,sn[1],sj[1]*m+1,sn[2],sj[1]*m+sj[1],2);}
		}
	else if(Right){
		if(KeyHold>30){ImgEffect(Img[4],Xobj,Yobj,4,sn[4],sj[1]*m+1,sn[5],sj[1]*m+sj[1],2);}
		else{ImgEffect(Img[4],Xobj,Yobj,4,sn[3],sj[1]*m+1,sn[4],sj[1]*m+sj[1],2);}
		}
	else{
		ImgEffect(Img[4],Xobj,Yobj,4,sn[2],sj[1]*m+1,sn[3],sj[1]*m+sj[1],2);
		KeyHold=0;
	}
	yield;
}

task ImgEffect(img,ImgX,ImgY,layer,a,b,c,d,Motion){
	let obj=Obj_Create(OBJ_EFFECT);
	Obj_SetPosition(obj,ImgX,ImgY);
	ObjEffect_SetTexture(obj,img);
	ObjEffect_SetLayer(obj,layer);
	ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLESTRIP);//
	ObjEffect_CreateVertex(obj,4);//@
		loop(Motion){//ݹ(2~15)
			let GraphicXY=[a,b,c,d];
			let Vx=(GraphicXY[2]-GraphicXY[0])/2;
			let Vy=(GraphicXY[3]-GraphicXY[1])/2;
				ObjEffect_SetVertexUV(obj,0,GraphicXY[0],GraphicXY[1]);
				ObjEffect_SetVertexUV(obj,1,GraphicXY[2],GraphicXY[1]);
				ObjEffect_SetVertexUV(obj,2,GraphicXY[0],GraphicXY[3]);
				ObjEffect_SetVertexUV(obj,3,GraphicXY[2],GraphicXY[3]);
				ObjEffect_SetVertexXY(obj,0,-Vx,-Vy);
				ObjEffect_SetVertexXY(obj,1,Vx,-Vy);
				ObjEffect_SetVertexXY(obj,2,-Vx,Vy);
				ObjEffect_SetVertexXY(obj,3,Vx,Vy);
			yield;
		}
	Obj_Delete(obj);
	yield;
}