//KeyObj

let KeyVaule=[
	VK_UP,//
	VK_DOWN,//
	VK_LEFT,//
	VK_RIGHT,//E
	//
	VK_SLOWMOVE,//ᑬړ
	VK_SHOT,//ˌ
	VK_BOMB,//Bomb
	VK_USER,//gpҔCӒ`
	VK_SKIP,//ߛb
	];

let KeyStatus=[
	KEY_FREE,//CꌮJ
	KEY_PUSH,//Iu
	KEY_HOLD,//꒼ZI?
	KEY_PULL,//JIu
	];
	
//Syso[
let PUp    = false;
let PDown  = false;
let PLeft  = false;
let PRight = false;

//o[
let Up    = false;
let Down  = false;
let Left  = false;
let Right = false;

//{^
let NoSlow  = false;
let Slow  = false;
let RapSlow  = false;
let ResSlow = false;
//ˌ
let Shot  = false;
let RapShot  = false;
let ResShot  = false;
//{
let Bomb  = false;
let ResBomb  = false;

let User  = false;
let Skip  = false;

task KeyCheck{
	loop{
		//Syso[
		PUp=GetKeyState(KeyVaule[0])==KeyStatus[1];
		PDown=GetKeyState(KeyVaule[1])==KeyStatus[1];
		PLeft=GetKeyState(KeyVaule[2])==KeyStatus[1];
		PRight=GetKeyState(KeyVaule[3])==KeyStatus[1];
		//o[
		Up=GetKeyState(KeyVaule[0])==KeyStatus[2];
		Down=GetKeyState(KeyVaule[1])==KeyStatus[2];
		Left=GetKeyState(KeyVaule[2])==KeyStatus[2];
		Right=GetKeyState(KeyVaule[3])==KeyStatus[2];
		//{^
		NoSlow=GetKeyState(KeyVaule[4])==KeyStatus[0];
		Slow=GetKeyState(KeyVaule[4])==KeyStatus[1];
		RapSlow=GetKeyState(KeyVaule[4])==KeyStatus[2];//A
		ResSlow=GetKeyState(KeyVaule[4])==KeyStatus[3];//ߌ
		//ˌ
		Shot=GetKeyState(KeyVaule[5])==KeyStatus[1];//Vbg
		RapShot=GetKeyState(KeyVaule[5])==KeyStatus[2];//A(Rapid)
		ResShot=GetKeyState(KeyVaule[5])==KeyStatus[3];//ߌ(Reservoir)
		//{
		Bomb=GetKeyState(KeyVaule[6])==KeyStatus[1];
		ResBomb=GetKeyState(KeyVaule[6])==KeyStatus[3];//ߌ
		
		User=GetKeyState(KeyVaule[7])==KeyStatus[1];
		Skip=GetKeyState(KeyVaule[8])==KeyStatus[1];
	yield;
	}
}
