//レベルアップのペース
levelup = 8;

//ウェイト
levelwait = [2000,1500,1000,800,600,500,400,300,200,100,90,80,70,60,50,45,40,35,30,25];

//ライン消しの得点
clearlinepoint = [0, 100, 200, 400, 1500];

//キーコード
k0 = 48;
k1 = 49;
k2 = 50;
k3 = 51;
k4 = 52;
k5 = 53;
k6 = 54;
k7 = 55;
k8 = 56;
k9 = 57;
ka = 42; //＊
ks = 35; //＃

//ブロックの移動量
m = 12;

//ブロック移動時の座標修正用
mbd = 12;  //下方向
mbl = -1;  //左方向
mbr =  1;  //右方向

//落下開始時のブロックの種類
sbtypes = [0, 2, 3, 7, 11, 15, 17];

//ブロックの初期座標
sbpos = [28, 0, 17, 16, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 16, 0, 16, 0];

//ブロックの種類ごとの色
bcdat = [1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 7, 7];

//ブロックのパターン
bp0 = new Array(19);//下
bp1 = new Array(19);//左
bp2 = new Array(19);//右

//下移動
bp0[0] = [4,	12,   13,   14,   15 ];
bp0[1] = [1,	48 ];
bp0[2] = [2,	24,   25 ];
bp0[3] = [3,	12,	  25,   14 ];
bp0[4] = [2,	36,   25 ];
bp0[5] = [3,	24,   25,   26 ];
bp0[6] = [2,	24,	  37 ];
bp0[7] = [3,	24,	  13,   14 ];
bp0[8] = [2,	36,	  37 ];
bp0[9] = [3,	24,	  25,   26 ];
bp0[10] = [2,	12,	  37 ];
bp0[11] = [3,	12,	  13,   26 ];
bp0[12] = [2,	36,	  13 ];
bp0[13] = [3,	24,	  25,   26 ];
bp0[14] = [2,	36,	  37 ];
bp0[15] = [3,	24,	  25,   14 ];
bp0[16] = [2,	24,	  37 ];
bp0[17] = [3,	12,	  25,   26 ];
bp0[18] = [2,	36,	  25 ];
//左移動
bp1[0] = [1,	-1 ];
bp1[1] = [4,	-1, 11,  23,  35 ];
bp1[2] = [2,	-1, 11 ];
bp1[3] = [2,	-1, 12 ];
bp1[4] = [3,	-1, 11,  23 ];
bp1[5] = [2,	 0, 11 ];
bp1[6] = [3,	 0, 11,  24 ];
bp1[7] = [2,	-1, 11 ];
bp1[8] = [3,	-1, 11,  23 ];
bp1[9] = [2,	 1, 11 ];
bp1[10] = [3,	-1, 12,  24 ];
bp1[11] = [2,	-1, 13 ];
bp1[12] = [3,	-1, 11,  23 ];
bp1[13] = [2,	-1, 11 ];
bp1[14] = [3,	 0, 12,  23 ];
bp1[15] = [2,	 0, 11 ];
bp1[16] = [3,	-1, 11,  24 ];
bp1[17] = [2,	-1, 12 ];
bp1[18] = [3,	 0, 11,  23 ];
//右移動
bp2[0] = [1,	 4 ];
bp2[1] = [4,	 1,  13,   25,   37 ];
bp2[2] = [2,	 2,  14 ];
bp2[3] = [2,	 3,  14 ];
bp2[4] = [3,	 1,  14,   25 ];
bp2[5] = [2,	 2,  15 ];
bp2[6] = [3,	 2,	 14,   26 ];
bp2[7] = [2,	 3,	 13 ];
bp2[8] = [3,	 1,	 13,   26 ];
bp2[9] = [2,	 3,	 15 ];
bp2[10] = [3,	 2,	 14,   26 ];
bp2[11] = [2,	 3,	 15 ];
bp2[12] = [3,	 2,	 13,   25 ];
bp2[13] = [2,	 1,	 15 ];
bp2[14] = [3,	 2,	 14,   26 ];
bp2[15] = [2,	 3,	 14 ];
bp2[16] = [3,	 1,	 14,   26 ];
bp2[17] = [2,	 2,	 15 ];
bp2[18] = [3,	 2,	 14,   25 ];

//ブロック固定用座標データ
bp3 = new Array(19);
bp3[0] = [0, 1, 2, 3];
bp3[1] = [0,12,24,36];
bp3[2] = [0, 1,12,13];
bp3[3] = [0, 1, 2,13];
bp3[4] = [0,12,13,24];
bp3[5] = [1,12,13,14];
bp3[6] = [1,12,13,25];
bp3[7] = [0, 1, 2,12];
bp3[8] = [0,12,24,25];
bp3[9] = [2,12,13,14];
bp3[10] = [0,1,13,25];
bp3[11] = [0,1,2,14 ];
bp3[12] = [0,1,12,24];
bp3[13] = [0,12,13,14];
bp3[14] = [1,13,24,25];
bp3[15] = [1,2,12,13];
bp3[16] = [0,12,13,25];
bp3[17] = [0,1,13,14];
bp3[18] = [1,12,13,24];

//ブロックの回転データ
brp = new Array(19);
brp[0] = [-10,1,6, -10,14,26];
brp[1] = [10,0,6, 10,11,13];
brp[2] = [0,2,3];
brp[3] = [-11,4,4, -11];
brp[4] = [11,5,5, 23,25];
brp[5] = [-12,6,5, -11,0];
brp[6] = [12,3,4, 14];
brp[7] = [-11,8,6, -11,13,14];
brp[8] = [11,9,5, 13,23];
brp[9] = [-12,10,6, -12,-11,1];
brp[10] = [12,7,6, 12,14,24];
brp[11] = [-11,12,6, -11,-10,13];
brp[12] = [11,13,6, 11,23,25];
brp[13] = [-12,14,5, -11,1];
brp[14] = [12,11,6, 12,14,26];
brp[15] = [-12,16,5, -12,0];
brp[16] = [12,15,5, 14,24];
brp[17] = [-11,18,5, -10,2];
brp[18] = [11,17,5, 11,25];

//ブロックのライン消去チェック用
blc = [1, 4, 2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3];

//ゲームエリアのオフセット
gameareaoffsetx = 70;
gameareaoffsety =-36;

function setimgpos(para, x, y){
    para.style.left = x;
    para.style.top  = y;
}

function setblockimg(para1, para2){
	para1.src = para2 + '.png';
}

function setblockpos(para1, para2){
	var x = para2%12;
	var y = Math.floor(para2/12);
	setimgpos(para1, gameareaoffsetx + x*m, gameareaoffsety + y*m);
}

