protected void deleteLine() {
		
		boolean isDelete = false;
		
		for ( int y = 0; y < GRID_Y; y++ ) {
			
			int count = 0;
			for ( int x = 0; x < GRID_X; x++ ) {
				// ブロックがある列を数える
				if (_grid[ y ][ x ] == 1)
					count++;
			}
			
			// そろった行が見つかった
			if ( count == GRID_X ) {
				
				// その行を消去
				for ( int x = 1; x < GRID_X; x++ ) {
					_grid[ y ][ x ] = 0;
					if ( !isDelete ) {
						isDelete = true;
					}
				}
				
				// それより上の行を落とす
				for ( int ty = y; ty > 0; ty-- ) {
					for (int tx = 0; tx < GRID_X; tx++ ) {
						_grid[ ty ][ tx ] = _grid[ ty - 1 ][ tx ];
						_gridColor[ ty ][tx] = _gridColor[ ty - 1 ][ tx ];
					}
				}
			}
		}
		
		if ( isDelete ) {
			_deleteSe.play();
		}
	}