
// パネル生成 ***********************************************************************************
function createPanel() {
  for (var top=0;top<PanelArticle;top++) {
    Events[top]  = [];
    Blocks[top] = [];
    for (var left=0;left<PanelArticle;left++) {
      var panel = document.createElement('div');
      panel.id = 'panel-'+top+'-'+left;
      panel.className = 'panel';
      panel.style.top = (top * PanelSize) + 'px';
      panel.style.left = (left * PanelSize) + 'px';
      panel.style.width = panel.style.height = PanelSize + 'px';
      // 壁(破壊不可)
      if (top % 2 == 1 && left % 2 == 1) {
        panel.style.backgroundColor = '#444444';
        Events[top][left] = Blocks[top][left] = -2;
      }
      else if(!((top == 0 && (left == 0 || left == PanelArticle - 1)) || (top == PanelArticle - 1 && (left == 0 || left == PanelArticle - 1)))) {
        // アイテム
        if (!Math.floor(Math.random() * 5)) {
          var item = Math.floor(Math.random() * 7) + 1;
          panel.style.background = 'url(/images/bomber/item/'+item+'.gif) center center no-repeat';
          Events[top][left] = item;
        }
        else {
          Events[top][left] = 0;
        }
        
        // 壁(破壊可)
        if (!Math.floor(Math.random() * 5)) {
          panel.style.background = 'url(/images/bomber/item/-1.gif) center center no-repeat';
          Blocks[top][left] = -1;
        }
        else {
          Blocks[top][left] = 0;
        }
        
        // 敵作成(最低でもキャラの隣では発生しないようにする)
        if (!Math.floor(Math.random() * 5) && Events[top][left] == 0 && Blocks[top][left] == 0 && top != 1 && top != PanelArticle - 2 && left != 0 && left != PanelArticle - 2) {
          createCharacter(++EnemyID, Math.floor(Math.random() * EnemyImageSum) + 100, top * PanelSize, left * PanelSize, -1);
          AllCharacterCount++;
        }
      }
      else {
        Events[top][left] = Blocks[top][left] = 0;
      }
//      panel.innerHTML = '['+top+','+left+']'+Events[top][left]+':'+Blocks[top][left];
      MainPanel.appendChild(panel);
    }
  }
  
  // キャラクター作成
  for (var num=1;num<=UseCharacterNum;num++) {
    createCharacter(num, num, (num > 2 ? PanelSize * (PanelArticle - 1) : 0), ((num+1) % 2 * PanelSize * (PanelArticle - 1)), (num == PlayerID ? 0 : 1));
    AllCharacterCount++;
  }
}

// キャラクター作成 ***********************************************************************************
function createCharacter(num, image, top, left, type) {
    var character = document.createElement('img');
    character.id = 'character-'+num;
    character.className = 'character';
    character.src = '/images/bomber/character/'+image+'-2.gif';
    character.style.top = top + 'px';
    character.style.left = left + 'px';
    character.style.width = PanelSize + 'px';
    character.style.height = PanelSize + 'px';
    MainPanel.appendChild(character);
    
    // インスタンス生成
    Characters[num] = new Character(num, image, type);
    
    // オブザーバー設定(ユーザー、AI、敵)
    if (type == 0)
      Characters[num].setObserver();
    else if (type == 1)
      Characters[num].setAI();
    else
      Characters[num].setAI();
}


