Created
April 30, 2014 16:31
-
-
Save suneo3476/8cb416dff3d437ac3374 to your computer and use it in GitHub Desktop.
IDがずれていたのを修正。結果表示ソート基準を指定可能にした。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//ここをかえます | |
var oil = 10; //さいていげんほしい燃料 | |
var bullet = 10;//さいていげんほしい弾薬 | |
var steel = 10; //さいていげんほしい鋼材 | |
var bauxite =10;//さいていげんほしいボーキ | |
var bucket = 0.1; //さいていげんほしいばけつ | |
var kantai = 3; //かいほうしてるかんたいのかず | |
var sort = 4; //けっかのそーときじゅん | |
//1燃料 2弾薬 3鋼材 4ボーキ 5バケツ 6合計 | |
//ここまでをかえます | |
//燃料、弾薬、鋼材、ボーキの順 | |
var dataset = [ | |
[-32,120,0,0], | |
[-56,200,60,0], | |
[54,34,120,0], | |
[-31.2,72,0,0], | |
[111.67,133.33,13.33,13.33], | |
[-24,-24,0,120], | |
[-42,0,50,30], | |
[2.67,25.33,16.67,16.67], | |
[79.25,0,0,0], | |
[-12,33.33,0,20], | |
[-5.6,0,0,50], | |
[2.75,31.25,25,6.25], | |
[48.25,62.5,0,0], | |
[-7.83,40,33.33,0], | |
[-5.17,-5,25,33.33], | |
[30.2,30,13.33,13.33], | |
[57.33,26.67,66.67,0], | |
[-14.4,-6.6,60,20], | |
[46.33,-19.33,8.33,5], | |
[-8.5,-9,75,0], | |
[109.71,89.57,0,0], | |
[-33.33,-36,0,0], | |
[0,0,0,0], | |
[-50,-53,0,25], | |
[0,0,0,0], | |
[16.15,-3.4,7.5,0], | |
[-0.9,-1,0,11.25], | |
[-0.8,-1.6,40,0], | |
[-0.96,-1.92,36,14], | |
[-1,-2,0,4.16], | |
[-1,-2,0,2.08], | |
[0,0,0,0], | |
[0,0,0,0], | |
[0,0,0,0], | |
[-17.71,-22.29,34.29,40], | |
[40.44,-13.78,22.22,22.22], | |
[-27.64,107.64,98.18,0], | |
[119.31,-32.91,68.57,0] | |
]; | |
//バケツ | |
var bucketSet = [ | |
0,1,0,0.6,0,0,0,0,0.375,0.333,0.2,0,0.25,0.083,0,0,0,0.1,0,0,0,0,0,0,0,0.019,0,0,0,0,0,0,0,0,0,0.111,0,0 | |
]; | |
var result = []; //さいていげんをみたしたくみあわせのけいさんけっかがはいる | |
for (var i = 0; i < dataset.length-2; i++) { | |
for (var j = i+1; j < dataset.length-1; j++) { | |
for (var k = j+1; k < dataset.length; k++) { | |
var resources = [0,0,0,0]; | |
var buckets = 0; | |
//しげんけいさん | |
for (var l = 0; l < 4; l++){ | |
resources[l] += dataset[i][l]; | |
resources[l] += kantai>=2 ? dataset[j][l] : 0; | |
resources[l] += kantai==3 ? dataset[k][l] : 0; | |
resources[l] = Math.floor(resources[l] * 100) / 100; | |
} | |
//ばけつけいさん | |
buckets = bucketSet[i]+bucketSet[j]+bucketSet[k]; | |
buckets = Math.floor(buckets * 100) / 100; | |
//ぼーだーらいんかくにん | |
if(resources[0] < oil || resources[1] < bullet || resources[2] < steel || resources[3]< bauxite) | |
continue; | |
if(buckets < bucket) | |
continue; | |
//けっかにつっこむ | |
resources.unshift((i+1) + (kantai>=2 ? "+"+(j+1) : "") + (kantai==3 ? "+"+(k+1) : "")); | |
resources.push(buckets); | |
result.push(resources); | |
if(kantai==3) | |
break; | |
} | |
if(kantai>=2) | |
break; | |
} | |
} | |
//重複削除 | |
for(var i = 0; i < result.length-1; i++){ | |
for(var j = i+1; j < result.length; j++){ | |
if(typeof result[i] === "undefined" || typeof result[j] === "undefined") continue; | |
if(result[i][0]==result[j][0]) | |
result[j] = undefined; | |
} | |
} | |
// if(result[i][0]==result[j][0]) | |
// ^ | |
// TypeError: Cannot read property '0' of undefined | |
//ソート | |
for(var i = 0; i < result.length; i++){ | |
if(typeof result[i] === "undefined") continue; | |
result[i].push(result[i][1]+result[i][2]+result[i][3]+result[i][4]); | |
} | |
for(var i = 0; i < result.length-1; i++){ | |
for(var j = i+1; j < result.length; j++){ | |
if(typeof result[i] === "undefined" || typeof result[j] === "undefined") continue; | |
if(result[i][sort]<result[j][sort]){ | |
tmp = result[i]; | |
result[i] = result[j]; | |
result[j] = tmp; | |
} | |
} | |
} | |
//ひょうじ | |
console.log("組み合わせ 燃料 弾薬 鋼材 ボーキ バケツ 資源合計"); | |
var resultNum = 0; | |
for(var i = 0; i < result.length; i++){ | |
if(typeof result[i] === "undefined") continue; | |
console.log(result[i].join('\t')); | |
resultNum++; | |
} | |
console.log(resultNum+"件"); | |
result[j] = tmp; | |
} | |
} | |
} | |
//ひょうじ | |
console.log("組み合わせ 燃料 弾薬 鋼材 ボーキ バケツ 資源合計"); | |
var resultNum = 0; | |
for(var i = 0; i < result.length; i++){ | |
if(typeof result[i] === "undefined") continue; | |
console.log(result[i].join('\t')); | |
resultNum++; | |
} | |
console.log(resultNum+"件"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
組み合わせ 燃料 弾薬 鋼材 ボーキ バケツ 資源合計 | |
4+5+6 56.47 181.33 13.33 133.33 0.6 384.46000000000004 | |
5+6+9 166.92 109.33 13.33 133.33 0.37 422.90999999999997 | |
10+11+16 12.59 63.33 13.33 83.33 0.53 172.57999999999998 | |
15+16+18 10.63 18.39 98.33 66.66 0.1 194.01 | |
11+12+13 45.4 93.75 25 56.25 0.45 220.4 | |
14+15+36 27.44 21.22 80.55 55.55 0.19 184.76 | |
7+8+9 39.92 25.33 66.67 46.67 0.37 178.59000000000003 | |
12+13+15 45.83 88.75 50 39.58 0.25 224.15999999999997 | |
8+9+10 69.92 58.66 16.67 36.67 0.7 181.92000000000002 | |
13+14+15 35.25 97.5 58.33 33.33 0.33 224.40999999999997 | |
16+17+18 73.13 50.07 140 33.33 0.1 296.53 | |
9+10+12 70 64.58 25 26.25 0.7 185.82999999999998 | |
18+19+21 141.63 63.63 68.33 25 0.1 298.59 | |
20+21+36 141.64 66.78 97.22 22.22 0.11 327.86 | |
21+22+36 116.82 39.78 22.22 22.22 0.11 201.04 | |
36+37+38 132.11 60.95 188.97 22.22 0.11 404.25 | |
17+18+20 34.43 11.07 201.67 20 0.1 267.16999999999996 | |
3+4+5 134.47 239.33 133.33 13.33 0.6 520.46 | |
1+2+5 23.67 453.33 73.33 13.33 1 563.6600000000001 | |
2+3+5 109.67 367.33 193.33 13.33 1 683.6600000000001 | |
20件 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment