DQX 裁縫数値 計算補助 各装備の基準値

ドラゴンクエスト10 裁縫職人 大成功で金策

裁縫差分計算補助ツール

入力




差分




基準値




誤差合計 (差分数値多い箇所除く)
誤差合計 (全体)

使い方

1. 右枠からつくりたい装備を選ぶと、「基準値」枠に数値をコピー

2. 次に自分で各部を縫って「くわしくみる」から「入力」枠に数値を記入

3. 「差分」枠と縫う数値を参考に基準値ピッタリを目指す

縫い範囲 (中央値):

★再生布  :4ターンごとに 12~16 回復 ★ピンク布 :4ターンごとに ランダム1マス 威力2倍&会心率アップ ★虹布   :4ターンごとに 消費集中力半分 | 消費集中力1.5倍で会心率7倍 (最大値が出たときを想定) (弱調整あわせで+4,+8に合わせても良い) + (27) +(35) + (36) +(44) + (45) +(53) + (45) +(53) 強x2 (54) +(62) + (63) +(71) 最x2 (72) +(80) 強x2 (81) +(89) 最x3 (108) +(116) - (15) - (2,3,6) 最x3-再x2 (84) -弱戻 (15) -弱戻 (24) -弱戻 (32)

大成功条件 誤差(以内):

頭… 2 , 上… 8 , 下… 4 , 腕… 3 , 足… 2

特技と消費集中力:

特技    消費 特技の効果
※特技なし   5 1マスを 1倍の威力で縫う
かげんぬい 10 1マスを 0.5倍の威力で縫う
半かげんぬい ?? 1マスを 0.75倍の威力で縫う
2倍ぬい 9 1マスを 2倍の威力で縫う
3倍ぬい 12 1マスを 3倍の威力で縫う
糸ほぐし 16 1マスを 約0.5倍ぶん回復する
ヨコぬい 8 ヨコ2マスを 1倍の威力で縫う
水平ぬい 10 ヨコ3マスを 1倍の威力で縫う
滝のぼり 8 タテ2マスを 1倍の威力で縫う
大滝のぼり 10 タテ3マスを 1倍の威力で縫う
たすきぬい 7 ナナメ2マスを右上へ 1倍の威力で縫う
逆たすきぬい 7 ナナメ2マスを左上へ 1倍の威力で縫う
ねらいぬい  16 通常よりも高い会心率で1マスぬう
ぬいパワーシフト 7 次のぬいパワーをランダムに変更
巻きこみぬい 13 使用したマスを1.5倍、 周囲4マスを0.75倍で縫う
精神統一 7 ぬいパワーが3ターンそのまま変わらない
しつけがけ 13 使用したマスを次に縫う時 2倍の威力になる

さいほう針:

アイテム名    集中力 会心率(%) 効果
銅のさいほう針   + 0 +1.0%
銀のさいほう針   +15 +2.0%
プラチナさいほう針 +25 +2.5%
超さいほう針   +35 +3.0%
光のさいほう針   +45 +3.6% 開始時1/10で必殺チャージ
奇跡のさいほう針 +50 +3.3% 開始時1/6で集中力+30
できのよさ★による会心率補正(%)
★0 +0
★1 +0.1%
★2 +0.2%
★3 +1.0%

結晶装備:錬金数に応じた結晶個数

※初級錬金の場合
装備Lv +0 +1 +2 +3
60 6 13 19 37
80 8 17 25 49
90 9 19 28 55

結晶個数ごとの売上

※バザーにて:結晶1つ3100Gから手数料ひいて大体3000Gと換算
個数 G
13 39000
15 45000
19 57000
37 111000
49 147000
55 165000

参考サイト:

裁縫(さいほう)職人の基準値計算ツール

ドラクエ10・相場完全データ | バザー相場・推移・毎日更新

ドラクエ10・相場完全データ | 結晶装備

さいほう職人ガイド 数値データ | ドラクエ10

さいほうシミュレータ

ドラクエ10攻略ブログ|初心者向け冒険マップ

ドラクエ10裁縫講座2 | RENKINAGAMA

最新装備の数値 | ふたばあおいのドラクエ10ブログ

再生布と虹布 | ドラクエ10攻略 チンネンブログ

縫い数値パターン:

備考:

※7種類の数値で構成されている

調整しやすい差分数値は-3と4

通常:強いは欠:19,22,25

2倍:強いは奇数多め

差分2は避ける

手順・コツ:

1. 最強がくるまでナナメで縫う
2. 最強がきたら精神集中
3. 2回最強でまとめ縫い + 1回精神集中 を繰り返す
4. 余った箇所を2箇所縫いや弱いのかげんで数値調整


良い数値は 残 8と4と5
 8 → 弱い        2 1 1 0 0 -1
 4 → 弱い・かげん 1 0 0 0 0 -1 -1
 5 → 弱い・かげん 2 1 1 1 1 0 0
11 → 強い・かげん 2 0 0 -1 -1 -3 -3 (-3の場合弱い糸ほぐし)
8,4,5は2ができる確率が少なく、0になる確率も高い


※普通でにぬって(+14)、強いで糸ほぐし(-11)で+3できる 必要SP:5+16=21
※水平やナナメぬいは必要SPが10,7と少ない
※再生(-16)を期待 残: 
 2, 3 → 普通 14-16
 8, 9 → 強い 14-23
16,17 → 最強 14-30

※序盤は最強の精神集中で一気に削る 並ぬうはせず、水平・たすきを使う
※残72に最強2倍で1/7で0. 擬似的な狙い縫いに
※残70に最強2倍してはならない
※残108に最強3倍は6,12という悪い数字をを生みやすい
※会心…2倍以内に基準値があれがそこでピッタリ止まる,なければ2倍の値
※しつけがけは誤差なしの場所に指定して、ぬいパワースキップに使える
※再生布なら1箇所だけ最強x3で過剰にぬって、再生1,2回待つのもアリ

ツールはチートシート付きのExcelだと思って使おう

皮のてぶくろの縫い方:

・さいほう職人Lv38で「ぬいパワーシフト」を覚える
・プラチナさいほう針を用意
1. 「会心」が出るまで特技「ぬいパワーシフト」
2. 特技「精神統一」
3. 数値0の箇所に特技「ねらいぬい」
4. 数値0の箇所に特技「ねらいぬい」
5. 2-4をあと2回繰り返す
6. 余った集中力で15でない数値を弱の「かげんぬい」「糸ほぐし」で調整
7. 全部位誤差合計3以下なら大成功


※低コストでレアドロップ+狙いのパルプンテ錬金に使う

装備の数値

人気の結晶装備

原始獣のコート

 ---  180  ---
 120  180  120

ふさふさの毛皮 12 160G 1,920G ドラゴンの皮 1 10,250G 10,250G グリーンオーブ 1 8,698G 8,698G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 30,868G

 95  40  95
 60  60  60
 75  40  75

ふさふさの毛皮 12 100G 1,200G 大きなうろこ 5 650G 3,250G グリーンオーブ 1 6,790G 6,790G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 21,240G

  70   70  -
  90   90  -
 140  140  -

ふさふさの毛皮 12 160G 1,920G 小さなうろこ 30 202G 6,060G グリーンオーブ 1 8,698G 8,698G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 26,678G

 100  50  150
 100  50  150

 170  170  -
 130  130  -

ふさふさの毛皮 12 160G 1,920G 小さなホネ 25 110G 2,750G グリーンオーブ 1 8,698G 8,698G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 23,368G

拳聖の道着

 ---  150  ---
 130  190  130

  80   40   80
  65   50   65
  90   40   90

みかわしそう 12 299G 3,588G 天使のソーマ 1 1,584G 1,584G イエローオーブ 1 7,090G 7,090G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 22,262G

 170   90  -
  70   70  -
  80  120  -

みかわしそう 12 299G 3,588G けものの皮 30 120G 3,600G イエローオーブ 1 7,090G 7,090G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 24,278G

  85  130   85
  85  130   85

みかわしそう 12 299G 3,588G ぶどうエキス 4 680G 2,720G イエローオーブ 1 7,090G 7,090G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 23,398G

 135  135  -
 165  165  -

みかわしそう 12 299G 3,588G ちょうのはね 25 200G 5,000G イエローオーブ 1 7,090G 7,090G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 25,678G

獄獣のケーブ

--- 	174	 ---
174 	238	 174

妖精の綿花 15 20G 300G 炎の樹木 20 320G 6,400G ふさふさの毛皮 30 100G 3,000G 虹色のオーブ 1 16,969G 16,969G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 36,669G

  100   75   100
  60   90   60
  100   75   100

妖精の綿花 15 20G 300G 炎の樹木 20 320G 6,400G ふさふさの毛皮 30 100G 3,000G 虹色のオーブ 1 16,969G 16,969G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 36,669G

  125   150
  150   125
  105   105

165	 165
215	 215	

モダンバニー

---  120  ---
180  180  180

あやかしそう 12 141G 1,692G やわらかウール 4 3,100G 12,400G グリーンオーブ 1 8,698G 8,698G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 32,790G

 90  45  90
 60  60  60
105  45 105

あやかしそう 12 141G 1,692G ちょうのはね 50 200G 10,000G グリーンオーブ 1 8,698G 8,698G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 30,390G

下(フレア)

110  110
110  110
110  110

あやかしそう 12 141G 1,692G さくらの花びら 30 160G 4,800G グリーンオーブ 1 8,698G 8,698G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 25,190G

 105  70  155
 105  70  155

135 	180
210 	135

あやかしそう 12 200G 2,400G ネコずな 25 210G 5,250G グリーンオーブ 1 6,790G 6,790G あまつゆのいと 10 1,000G 10,000G 合計原価 - - 24,440G

ロードリーローブ

100	100
150	150
200	200

皮のてぶくろ

 15	 15	 15
 15	 15	 15

けものの皮 1 120G

最新装備

数値の情報 募集中

view source

JavaScript

function convertStr(str) {
  return str.replace(/[A-Za-z0-9]/g, function(s) {
    s = s.replace(/[A-Za-z]/g, '');
    return String.fromCharCode(s.charCodeAt(0)-0xFEE0);
  });
}

$(function(){
  $('a').on('click', function(){
    window.open($(this).attr('href'));
    return false;
  });
  var area = $('.area');
  area.each(function(){
    sozaiText = $(this).find('.sozai').text();
    $(this).attr({title:sozaiText});
  });
  
  var inputCell = $('#inputCell input')
  inputCell.attr({type:'number',min:0,max:300});
  inputCell.on('dblclick', function(){
    $(this).val('');
  });

  $(document).on('click', '.area', function(){
  //area.on('click', function(){
    $('.area').removeClass('selected');
    $(this).addClass('selected');
    var table = $(this).find('pre').text();
    var obj = [];
    var rows = table.split('\n');
    if(!rows){return;}
    rows.forEach(function(r){
      r = r.replace(/\s{4}|-{3}/g, '0');
      cols = r.match(/[0-9]+/g);
      console.log(cols);
      if(!cols){return;}
      obj.push(cols);
    });
    $('#markCell input').val(0).trigger('change').css({backgroundColor: '#dddddd'});
    $('#inputCell input').css({backgroundColor: '#dddddd'});
    obj.forEach(function(x, i){
      x.forEach(function(v, j){
        var ij = '[coord="'+i+','+j+'"]';
        if(Number(v) > 0){
          $('#markCell '+ij).css({backgroundColor: '#ffffff'}).val(v);
          $('#inputCell '+ij).css({backgroundColor: '#ffffff'});
        }
        if(!Number(v) || Number(v)===0){
          //$('#inputCell '+ij).css({backgroundColor: '#aaaaaa'});
        }
      });
    });
    $('#inputCell input').trigger('change');


  });

  $(document).on('dblclick', '.area', function(){
    var text = $(this).find('h3').text();
    window.open('http://bazaar.d-quest-10.com/se/result.php?&se=1&in=1&key='+text);
  });

  $('#resetCellTable').on('click', function(){
    $('#inputCell input').each(function(){
      $(this).val(0).trigger('change');
    });
  });
  $('.cellTable input').each(function(){
    $(this).val(0);
    //$(this).attr({type:'number'});
  });
  $('#markCell input').each(function(){
    //$(this).attr({readonly:'readonly'});
  });
  $('#diffCell input').each(function(){
    $(this).attr({readonly:'readonly'});
  });

  $('#inputCell input').on('dblclick', function(){
    //var coord = $(this).attr('coord');
    //var markNum = Number($('#markCell [coord="'+coord+'"]').val());
    //$(this).val(markNum).trigger('change');
  });
  $('#inputCell input').on('focus', function(){
    $('#inputCell input').removeClass('focus');
    $(this).addClass('focus');
  });
  $('#diffCell input').on('dblclick', function(){
    var diffNum = Number($(this).val());
    checkNuiPower(diffNum);
  });

  //差分別パターン
  $('#inputCell input').on('change', function(){
    var coord = $(this).attr('coord');
    var str = $(this).val();
    $(this).val(convertStr(str));
    var inputNum = Number(convertStr(str));
    var markNum = Number($('#markCell [coord="'+coord+'"]').val());
    var diffNum = markNum - inputNum || 0;
    var diffTarget = $('#diffCell [coord="'+coord+'"]');
    diffTarget.val(diffNum);

    checkNuiPower(diffNum);

    if(diffNum === 0){
      diffTarget.css({backgroundColor: '#ccffcc'});
      diffTarget.attr({title:'0'});
    } else if(diffNum === 1){
      diffTarget.css({backgroundColor: '#aaddaa'});
      diffTarget.attr({title:'1'});
    } else if(diffNum === 2 ){
      diffTarget.css({backgroundColor: '#aaddaa'});
      diffTarget.attr({title:'2 ※普-再で調整可'});
    } else if(diffNum === -1){
      diffTarget.css({backgroundColor: '#aadddd'});
      diffTarget.attr({title:'-1'});
    } else if(diffNum === -2 ){
      diffTarget.css({backgroundColor: '#aadddd'});
      diffTarget.attr({title:'-2 ※弱:糸ほぐし で誤差減らせるかも'});
    } else if(diffNum === 5  || diffNum === 4 ){
      diffTarget.css({backgroundColor: '#1194E0'});
      diffTarget.attr({title:'弱:かげん'});
    } else if(diffNum === 8){
      diffTarget.css({backgroundColor: '#1194E0'});
      diffTarget.attr({title:'弱'});
    } else if(diffNum === 9){
      diffTarget.css({backgroundColor: '#aaaaff'});
      diffTarget.attr({title:'弱 or 普:かげん ※最大でピッタリ?'});
    }  else if(diffNum === 12){
      diffTarget.css({backgroundColor: '#eeffee'});
      diffTarget.attr({title:'弱:x2回'});
      diffTarget.css({backgroundColor: '#1194E0'});
    }  else if(diffNum === 14){
      diffTarget.css({backgroundColor: '#eeffee'});
      diffTarget.attr({title:'強:かげん'});
      diffTarget.css({backgroundColor: '#1194E0'});
    } else if(diffNum === 14){
      diffTarget.css({backgroundColor: '#1194E0'});
      diffTarget.attr({title:'強:かげん'});
    } else if(diffNum === 15){
      diffTarget.css({backgroundColor: '#1194E0'});
      diffTarget.attr({title:'普x1 ※再生布:強'});
    } else if(diffNum === 18){
      diffTarget.css({backgroundColor: '#aaaaff'});
      diffTarget.attr({title:'普x1 or 強:かげん or 弱x2 ※最大でピッタリ?'});
    } else if(diffNum === 27){
      diffTarget.css({backgroundColor: '#aaaaff'});
      diffTarget.attr({title:'強x1 or弱x3 ※最大でピッタリ?'});
    } else if(diffNum === 36){
      diffTarget.css({backgroundColor: '#aaaaff'});
      diffTarget.attr({title:'普x3 or 最x1  ※最大でピッタリ?'});
    } else if(diffNum === 51){
      diffTarget.css({backgroundColor: '#DAAB4E'});
      diffTarget.attr({title:'普x3 or 強x2'});
    } else if(diffNum === 54){
      diffTarget.css({backgroundColor: '#aaaaff'});
      diffTarget.attr({title:'強x2 or 普x3 ※最大でピッタリ?'});
    } else if(diffNum === 81){
      diffTarget.css({backgroundColor: '#aaaaff'});
      diffTarget.attr({title:'強x3 ※最大でピッタリ?'});
    } else if(diffNum === 108 ){
      diffTarget.css({backgroundColor: '#aa3333'});
      diffTarget.attr({title:'※ 最x3だけど、6差分出てしまうかも'});
      //########################################
      //########################################
    } else if(diffNum > 0 && diffNum < 12){
      diffTarget.css({backgroundColor: '#cceeff'});
      diffTarget.attr({title:'弱x1'});
    } else if(diffNum > 0 && diffNum < 14){

      diffTarget.css({backgroundColor: '#eeffee'});
      diffTarget.attr({title:'弱x1 or 普:かげん 範囲内'});
    } else if(diffNum > 0 && diffNum < 18){
      diffTarget.css({backgroundColor: '#ffffee'});
      diffTarget.attr({title:'普x1 or 強:かげん or 弱x2 ※超えちゃうかも'});
    } else if(diffNum >= 36 && diffNum <= 36+9){
      diffTarget.css({backgroundColor: '#bb4444'});
      diffTarget.attr({title:'普x3 or 最x1'});
    } else if(diffNum >= 81 && diffNum <= 81+9){
      diffTarget.css({backgroundColor: '#DAAB4E'});
      diffTarget.attr({title:'強x3倍 or 最x2'});
    } else if(diffNum > 110){
      diffTarget.css({backgroundColor: '#aa3333'});
      diffTarget.attr({title:'最x3以上(精神集中期間)'});
    } else if(diffNum > 71){
      diffTarget.css({backgroundColor: '#cc4444'});
      diffTarget.attr({title:'最x2'});
    } else if(diffNum > 36){
      diffTarget.css({backgroundColor: '#ff9999'});
      diffTarget.attr({title:'最x1'});
    } else if(diffNum > 0){
      diffTarget.css({backgroundColor: '#eeeeee'});
      diffTarget.attr({title:''});
      //########################################
      //########################################
    } else if(diffNum < -16-18){
      diffTarget.css({backgroundColor: '#990000'});
      diffTarget.attr({title:'強:糸ほぐし (ぬいすぎ)'});
    } else if(diffNum < -16-9){
      diffTarget.css({backgroundColor: '#aa3333'});
      diffTarget.attr({title:'普:糸ほぐし'});
    } else if(diffNum < -16){
      diffTarget.css({backgroundColor: '#aa6666'});
      diffTarget.attr({title:'弱:糸ほぐし'});
    } else if(diffNum <= -16){
      diffTarget.css({backgroundColor: '#cc4444'});
      diffTarget.attr({title:'強:糸ほぐし '});
    } else if(diffNum < -9){
      diffTarget.css({backgroundColor: '#aa6666'});
      diffTarget.attr({title:'普:糸ほぐし'});
    } else if(diffNum < -4){
      diffTarget.css({backgroundColor: '#ff4444'});
      diffTarget.attr({title:'弱:糸ほぐし'});
    } else if(diffNum < 0 && diffNum >= -16){
      diffTarget.css({backgroundColor: '#446644'});
      diffTarget.attr({title:'※(再生布範囲内12-16)'});
    } else {
      diffTarget.css({backgroundColor: '#cccccc'});
      diffTarget.attr({title:'..'});
    }



    var totalDiff = 0;
    var totalDiffMax = 0;
    $('#diffCell input').each(function(){
      var diff = Math.abs(Number($(this).val()));
      totalDiffMax += diff;
      if(diff<24){
        totalDiff += diff;
      }
    });

    //部位別判定
    var partsCount = 0;
    var diffBorder = 0;
    $('#markCell input').each(function(){
      var v = $(this).val();
      if(Number(v)>0){
        partsCount++;
      }
    });
    console.log("partsCount"+partsCount)
    //大成功条件の誤差
    if(partsCount === 9){
      diffBorder = 8;//上
    } else if(partsCount === 6){
      diffBorder = 6;//下,腕
    } else if(partsCount === 4){
      diffBorder = 2;//頭,足
    }
    var totalDiffTarget = $('#diffTotal input');
    var totalDiffMaxTarget = $('#diffTotalMax input');
    totalDiffTarget.val(totalDiff);
    totalDiffMaxTarget.val(totalDiffMax);
    if(totalDiff <= diffBorder){
      totalDiffTarget.css({backgroundColor: '#ccffcc'});
    } else if(totalDiff > diffBorder    && totalDiff <= diffBorder*2){
      totalDiffTarget.css({backgroundColor: '#ff8888'});
    } else if(totalDiff <= diffBorder*2 && totalDiff <= diffBorder*3){
      totalDiffTarget.css({backgroundColor: '#cc4444'});
    } else {
      totalDiffTarget.css({backgroundColor: '#aa2222'});
    }

    if(totalDiffMax <= diffBorder){
      totalDiffMaxTarget.css({backgroundColor: '#ccffcc'});
    } else if(totalDiffMax <= diffBorder+36){
      totalDiffMaxTarget.css({backgroundColor: '#cc4444'});
    } else {
      totalDiffMaxTarget.css({backgroundColor: '#aa2222'});
    }
  });




  $('#crystal input').on('change', function(){
    var a = $('#crystal [name="unitPrice"]').val();
    var b = $('#crystal [name="num"]').val();
    var c = Number(a) * Number(b);
    $('#crystal [name="product"]').val(c);
  });
  $('#crystal [name="num"]').val(36).trigger('change');
});


$(function(){
    var mousewheelevent = 'onwheel' in document ? 'wheel' : 'onmousewheel' in document ? 'mousewheel' : 'DOMMouseScroll';
    $('input').on(mousewheelevent,function(e){
        e.preventDefault();
        var delta = e.originalEvent.deltaY ? -(e.originalEvent.deltaY) : e.originalEvent.wheelDelta ? e.originalEvent.wheelDelta : -(e.originalEvent.detail);
        if($(this).attr('readonly')){return;}
        var v = Number($(this).val());
        if (delta < 0){
            v--;// マウスホイールを下にスクロールしたときの処理を記載
        } else {
            v++;// マウスホイールを上にスクロールしたときの処理を記載
        }
        $(this).val(v).trigger('change');
    });
});



//かげんぬいで2/7以上でやすい数値
//2倍,3倍で上限ぴったりの数値
var kagenNums =[
-2,2,
-3,-4,   -9.-12,  -14,  -16,
4,5,  7,8,9,  11,12,14,  16,18,
27,36,54,72,81,108,
];
//

var checkNuiPower = function(diffNum){
  var $i = $('#nuiPower i');
  $('#nuiPower h3').removeClass('match');
  $i.removeAttr('title');
  $i.removeClass('match');
  $i.removeClass('match-dame');
  $i.removeClass('match-yowai');
  $i.removeClass('match-modoshi');
  $i.removeClass('match-over');
  if(diffNum===0){
    return;
  }
  $i.each(function(){
    var isFind = false;
    var ele = $(this);
    var n = Number(ele.text());
    var isMax = ele.hasClass('max');
    if(diffNum === n){
      ele.addClass('match');
      ele.closest('div').find('h3').addClass('match');
      isFind = true;
    }
    kagenNums.forEach(function(v){
      if(diffNum === n+v){
        if(v===-2 || v===2){
          ele.addClass('match-dame').attr({title:v});
        } else if(v>0){
          ele.addClass('match-yowai').attr({title:v});
          ele.closest('div').find('h3').addClass('match');
        } else {
          ele.addClass('match-modoshi').attr({title:v});
          ele.closest('div').find('h3').addClass('match');
        }
        isFind = true;
      }
    });
    if(!isFind){
      if(diffNum > n && diffNum <= n+36 && isMax && n>0){
        ele.addClass('match-over');
        ele.closest('div').find('h3').addClass('match');
      }
      if(diffNum > 108 && n===108 && isMax && n>0){
        ele.addClass('match-over');
        ele.closest('div').find('h3').addClass('match');
      }
    }
  });
}

//ぬいパワー
$(function(){
  var jTexts = [
    "弱い","普通","強い","最強","再生",
  ];
    $.getJSON('nuiPower.json', function(data){
      console.log(data);
      //var ary = data.ary;
      for(key in data){
        console.log(key);
        $nuiDiv = $('<div>');
        $('#nuiPower').append($nuiDiv);
        $h3 = $('<h3>').text(key);
        $nuiDiv.append($h3);
        data[key].forEach(function(ary, j){
          $ul = $('<ul>');
          $nuiDiv.append($ul);
          $li = $('<li>').addClass('b'+(j+1));
          $b = $('<b>').text(jTexts[j]);
          $li.append($b);
          $ul.append($li);
          ary.forEach(function(v, i){
            $i = $('<i>').text(v);
            $li.append($i);
            if(i===6){
              $i.addClass('max')
            }
            $i.on('click', function(){
              var addN = Number($(this).text());
              var n = Number($('.focus').val());
              $('.focus').val(n+addN).trigger('change');
            })
          });
        });

      }
/*
      ary.forEach(function(obj){
        $ul = $('<ul>');
        $('#nuiPower').append($ul);
      console.log(obj);
/*
        for(key j in obj){
          $li = $('<li>').addClass('b'+j);
          $ul.append($li);
          $h3 = $('<b>').text(key);
          $li.append($h3);
          obj[j].forEach(function(v, i))
            $i = $('<i>').text(v);
            $li.append($i);
          });
        }
      });

*/
    });
});



var setClothData = function(ary, ele){
  ary.forEach(function(v){
    var h3 = $('<h3>').text(v.name);
    var nText = '';
    v.n.forEach(function(nn, i){
      nText += nn + ' ';
      if(v.parts==='head'){
        if(i === 0){
          nText = '--- ' + nText + ' ---\n';
        }
      }
      if(v.parts==='body_b' || v.parts==='food'){
        if(i === 1 || i==3){
          nText += '\n';
        }
      }
      if(v.parts==='body_u' || v.parts==='arm'){
        if(i === 2 || i==5){
          nText += '\n';
        }
      }
    });
    var pre = $('<pre>').text(nText);
    var div = $('<div>').addClass('area');
    div.append(h3).append(pre);
    ele.append(div);
  })
}

$(function(){
  var parts = [
    'head',
    'body_u',
    'body_b',
    'arm',
    'food',
  ];
  var partsName = {
    'head':'頭',
    'body_u':'体上',
    'body_b':'体下',
    'arm':'うで',
    'food':'足',
  };

  var jsonArea = $('#jsonArea');
  var search = $('<input>',{placeholder:'装備名検索'});
  jsonArea.append(search);
  search.on('keyup', function(){
    var v = $(this).val();
    $('.nArea').addClass('clicked');
    var divs = $('.area');
    divs.removeClass('clicked');
    divs.each(function(){
      $(this).addClass('hide');
      $(this).removeClass('selected');
      var text = $(this).text();
      if(text.match(v)){
        $(this).addClass('selected');
      }
    });
  });
  parts.forEach(function(v){
    console.log(v);
    var jsonArea = $('#jsonArea');
    var wrap = $('<div>').addClass('jsonWrap');
    var div = $('<div>').addClass('nArea');
    var h2 = $('<h2>').text(partsName[v]);
    jsonArea.append(wrap);
    wrap.append(h2).append(div);
    h2.on('click', function(){
      $('.area').removeClass('hide');
      div.toggleClass('clicked');
    });
    $.getJSON('n-'+v+'.json', function(data){
      setClothData(data.ary, div)
    });
  });
});

CSS

*{
}
html,body{
margin:0;
padding:0;
overflow:hidden;
}
h2,h3,h4{
margin:0;
padding:0;
}

#container,
#content,
#demo{
  height:100%;
}
h1,h2,h3{
  background-color:#aaaaaa;
  width:100%;
  font-weight:bold;
  padding:2px 0;
}
h1{
  font-size:22px;
}
h2{
  font-size:18px;
}
h3{
  text-indent:1em;
  background-color:#dddddd;
}
.area:nth-child(2n) h3{
  background-color:#cccccc;
}
h4{
  font-weight:bold;
}

.frame{
  width:50%;
  height:100%;
  float:left;
  overflow-y:scroll;
}

.frame.x3{
  width:25%;
}
.soubiData{
  font-size:14px;
  font-weight:bold;
}
.area{
}
.area:hover{
  background-color:#eeeeee;
  cursor:pointer;
}
.area.selected{
  font-size:28px;
  background-color:#ffcccc;
}

.area pre{
  padding-bottom:20px;
}

.sozai{
  display:none;
}

pre{
  width:100%;
  max-height:100%;
  margin:0;
  padding:0 20px;
  box-sizing:border-box;
  white-space: pre-wrap;
  font-family:monospace;
}

b{
  font-weight:bold;
}

.monoArea{
  font-family:monospace;
  font-size:16px;
}
.monoArea h4{
  padding-top:1em;
}
.big{
  font-size:16px;
  font-weight:bold;
}

/*ぬいパワー*/
#nuiPower{
  color:#555;
  user-select:none;
}
#nuiPower h3{
  border-top:2px solid #000;
}
#nuiPower i{
  display:inline-block;
  width:32px;
  text-align:right;
  font-family:monospace;
  font-size:16px;
}
#nuiPower i:hover{
  background-color:rgba(255,255,255,0.5);
  color:#f00;
}

#nuiPower h3.match,
#nuiPower b.match{
  color:#000;
}

#nuiPower i.match{
  color:#0f0;
  font-weight:bold;
}
#nuiPower i.match-dame{
  color:#00f;
  font-weight:bold;
}
#nuiPower i.match-yowai{
  color:#0a0;
  font-weight:bold;
}
#nuiPower i.match-modoshi{
  color:#f00;
  font-weight:bold;
}
#nuiPower i.match-over{
  color:#060;
  font-weight:bold;
}



.n1{
  color:#1194E0;
  font-weight:bold;
}
.n2{
  color:#AAAA88;
  font-weight:bold;
}
.n3{
  color:#DAAB4E;
  font-weight:bold;
}
.n4{
  color:#D20000;
  font-weight:bold;
}
.n5,
.ns{
  color:#446644;
  font-weight:bold;
}
.nr{
  color:#ff5555;/*red*/
}
.np{
  color:#ff9999;/*pink*/
}
.nn{
  color:#990099;/*niji*/
}

.b1{
  background-color:#cceeff;
}
.b2{
  background-color:#ffffee;
}
.b3{
  background-color:#ffeecc;
}
.b4{
  background-color:#ffcccc;
}
.b5,
.bs{
  background-color:#eeffee
}
.nx{
color:#551A8B;
}
.st{
color:#0000FF;
}
.ss{
color:#7FC881;
}
td{border:1px solid #000000;}





#calc:after{
  content:"";
  display:block;
  clear:both;
}
.cellArea:after{
  content:"";
  display:block;
  clear:both;
}

.cellTable{
  border:1px solid #000000;
  margin:10px 0;
  width:168px;
  float:left;
}
.cellTable#diffTotal,
.cellTable#diffTotalMax{
  width:98%;
}
.cellScore input,
.cellTable input{
  width:56px;
  height:40px;
  font-size:18px;
  text-align:right;
  box-sizing:border-box;
  border:1px solid #888888;
}

input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 

input.focus,
input:focus{
  border:2px solid #66f;
}

.cellTable [readonly]{
  background-color:#dddddd;
}

#crystal input{
  width:120px;
  height:40px;
  font-size:16px;
  text-align:right;
  padding:0 8px;
  box-sizing:border-box;
  border:1px solid #888888;
}

table,td{
  font-family:monospace;
  font-size:12px;
  padding:2px;
}

#jsonArea h2:hover,
#jsonArea h3:hover{
  cursor:pointer;
  background-color:#eeeeee;
}

#jsonArea .nArea{
  display:none;
}
#jsonArea .nArea.clicked{
  display:block;
}
#jsonArea pre{
  display:none;
}
#jsonArea .hide{
  display:none;
}
#jsonArea .hide.selected{
  display:block;
}
#jsonArea .selected pre{
  display:block;
}

HTML

ページのソースを表示 : Ctrl+U , DevTools : F12

view-source:https://hi0a.com/demo/-js/js-dqx-saiho/

ABOUT

hi0a.com 「ひまアプリ」は無料で遊べるミニゲームや便利ツールを公開しています。

プログラミング言語の動作デモやWEBデザイン、ソースコード、フロントエンド等の開発者のための技術を公開しています。

必要な機能の関数をコピペ利用したり勉強に活用できます。

プログラムの動作サンプル結果は画面上部に出力表示されています。

環境:最新のブラウザ GoogleChrome / Windows / Android / iPhone 等の端末で動作確認しています。

画像素材や音素材は半分自作でフリー素材配布サイトも利用しています。LINK参照。

動く便利なものが好きなだけで技術自体に興味はないのでコードは汚いです。

途中放置や実験状態、仕様変更、API廃止等で動かないページもあります。