	task DrawLifeAndBomb(){
		let LifeOverDrive=false;
		let BombOverDrive=false;
		let imgNumber="";
		
		let LIFE=0;
		let BOMB=1;
		
		DrawPlayerBomb;
		imgNumber="img\Font.png";
		yield;
		loop{
			if(GetPlayerLife>7){
				LifeOverDrive=true;
				ManagePlayerLife;
				while(LifeOverDrive){yield;}
			}
			yield;
		}
		
		task Hidden(type){
			let RECT;
			alternative(type)
			case(0){RECT=[GetClipMaxX+115,GetCenterY-60,640,GetCenterY-22];}
			case(1){RECT=[GetClipMaxX+105,GetCenterY-20,640,GetCenterY+16];}
			
			let obj=Obj_Create(OBJ_EFFECT);
			ObjEffect_SetTexture(obj,"img\STG_Frame.png");
			ObjEffect_SetLayer(obj,8);
			ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLESTRIP);
			ObjEffect_CreateVertex(obj,4);
			ObjEffect_SetVertexUV(obj,0,RECT[0],RECT[1]);
			ObjEffect_SetVertexUV(obj,1,RECT[0],RECT[3]);
			ObjEffect_SetVertexUV(obj,2,RECT[2],RECT[1]);
			ObjEffect_SetVertexUV(obj,3,RECT[2],RECT[3]);
			ObjEffect_SetVertexXY(obj,0,RECT[0],RECT[1]);
			ObjEffect_SetVertexXY(obj,1,RECT[0],RECT[3]);
			ObjEffect_SetVertexXY(obj,2,RECT[2],RECT[1]);
			ObjEffect_SetVertexXY(obj,3,RECT[2],RECT[3]);
			ObjEffect_SetAngle(obj,0,0,0);
			alternative(type)
			case(LIFE){while(LifeOverDrive){yield;}}
			case(BOMB){while(BombOverDrive){yield;}}
			Obj_Delete(obj);
		}
		
		task DrawPlayerBomb(){
			yield;
			loop{
				if(GetPlayerBomb>=7){
					BombOverDrive=true;
					ManagePlayerBomb;
					while(BombOverDrive){yield;}
				}
				yield;
			}
		}
		
		task ManagePlayerBomb(){
			let obj;
			let Pbomb=GetPlayerBomb;
			yield;
			Hidden(BOMB);
			MakeMulti(BOMB);
			loop{
				obj=DPlayerLife(1,Pbomb+1);
				while(GetPlayerBomb==Pbomb){yield;}
				Pbomb=GetPlayerBomb;
				if(Pbomb<7){break;}
				Obj_Delete(obj);
			}
			Obj_Delete(obj);
			BombOverDrive=false;
		}
	
		task ManagePlayerLife(){
			let obj;
			let Plife=GetPlayerLife;
			yield;
			Hidden(LIFE);
			MakeMulti(LIFE);
			loop{
				obj=DPlayerLife(0,Plife);
				while(GetPlayerLife==Plife){yield;}
				Plife=GetPlayerLife;
				if(Plife<8){break;}
				Obj_Delete(obj);
			}
			Obj_Delete(obj);
			LifeOverDrive=false;
		}
		
		task MakeMulti(type){
			let obj1=Obj_Create(OBJ_EFFECT);
			let obj2=Obj_Create(OBJ_EFFECT);
			ObjEffect_SetTexture(obj1,"img\Font.png");
			ObjEffect_SetTexture(obj2,"img\Font.png");
			ObjEffect_SetLayer(obj1,8);
			ObjEffect_SetLayer(obj2,8);
			ObjEffect_SetPrimitiveType(obj1,PRIMITIVE_TRIANGLESTRIP);
			ObjEffect_SetPrimitiveType(obj2,PRIMITIVE_TRIANGLESTRIP);
			ObjEffect_CreateVertex(obj1,4);
			ObjEffect_CreateVertex(obj2,4);
			
			ObjEffect_SetVertexUV(obj1,0,14,7);
			ObjEffect_SetVertexUV(obj1,1,15,7);
			ObjEffect_SetVertexUV(obj1,2,14,8);
			ObjEffect_SetVertexUV(obj1,3,15,8);
			ObjEffect_SetVertexXY(obj1,0,-8,-10);
			ObjEffect_SetVertexXY(obj1,1,-6,-10);
			ObjEffect_SetVertexXY(obj1,2,6,10);
			ObjEffect_SetVertexXY(obj1,3,8,10);
			
			ObjEffect_SetVertexUV(obj2,0,14,7);
			ObjEffect_SetVertexUV(obj2,1,14,7);
			ObjEffect_SetVertexUV(obj2,2,15,8);
			ObjEffect_SetVertexUV(obj2,3,15,8);
			ObjEffect_SetVertexXY(obj2,0,6,-10);
			ObjEffect_SetVertexXY(obj2,1,8,-10);
			ObjEffect_SetVertexXY(obj2,2,-8,10);
			ObjEffect_SetVertexXY(obj2,3,-6,10);
			
			alternative(type)
			case(0){
				Obj_SetPosition(obj1,GetClipMaxX+130,GetCenterY-48);
				Obj_SetPosition(obj2,GetClipMaxX+130,GetCenterY-48);
			}
			case(1){
				Obj_SetPosition(obj1,GetClipMaxX+120,GetCenterY-10);
				Obj_SetPosition(obj2,GetClipMaxX+120,GetCenterY-10);
			}
			ObjEffect_SetAngle(obj1,0,0,0);
			ObjEffect_SetAngle(obj2,0,0,0);
			alternative(type)
			case(LIFE){while(LifeOverDrive){yield;}}
			case(BOMB){while(BombOverDrive){yield;}}
			Obj_Delete(obj1);
			Obj_Delete(obj2);
		}
		
		function DPlayerLife(type,life){
			let obj=Obj_Create(OBJ_EFFECT);
			let RECT=[0,0,0,0];
			let width=0;
			let height=0;
			
			ObjEffect_SetTexture(obj,imgNumber);
			ObjEffect_SetLayer(obj,8);
			ObjEffect_SetPrimitiveType(obj,PRIMITIVE_TRIANGLESTRIP);
			SetRect(life-1);
			alternative(type)
			case(0){Obj_SetPosition(obj,GetClipMaxX+140,GetCenterY-48);}
			case(1){Obj_SetPosition(obj,GetClipMaxX+130,GetCenterY-10);}
			ObjEffect_SetAngle(obj,0,0,0);
			return obj;
			
			function SetRect(num){
				let RECT=[];
				let leng=trunc(log10(num))+1;
				ObjEffect_CreateVertex(obj,leng*4);
				descent(let i in 0..leng){
					alternative(num%10)
					case(0){RECT=[-3,2,33,28];}
					case(1){RECT=[33,2,69,28];}
					case(2){RECT=[69,2,105,28];}
					case(3){RECT=[105,2,141,28];}
					case(4){RECT=[141,2,177,28];}
					case(5){RECT=[177,2,213,28];}
					case(6){RECT=[213,2,249,28];}
					case(7){RECT=[249,2,285,28];}
					case(8){RECT=[285,2,321,28];}
					case(9){RECT=[321,2,357,28];}
					ObjEffect_SetVertexUV(obj,0+i*4,RECT[0],RECT[1]);
					ObjEffect_SetVertexUV(obj,1+i*4,RECT[0],RECT[3]);
					ObjEffect_SetVertexUV(obj,2+i*4,RECT[2],RECT[1]);
					ObjEffect_SetVertexUV(obj,3+i*4,RECT[2],RECT[3]);
					ObjEffect_SetVertexXY(obj,0+i*4,18*i,-13);
					ObjEffect_SetVertexXY(obj,1+i*4,18*i,13);
					ObjEffect_SetVertexXY(obj,2+i*4,18*(i+1),-13);
					ObjEffect_SetVertexXY(obj,3+i*4,18*(i+1),13);
					
					num=trunc(num/10);
				}
				//0=(0,0,18,26),1=(18,0,36,26),2=(36,0,48,26)
				//3=(48,0,64,26),4=(64,0,80,26)
				//5=(0,26,18,52),6=(18,26,36,52)7=(36,26,48,52)
				//8=(48,26,64,52),9=(64,26,80,52)
			}
		}
	
	}
	
