回答編集履歴
1
更新
answer
CHANGED
@@ -8,12 +8,20 @@
|
|
8
8
|
|
9
9
|
このもう1個の部分をどうするかがいまのところはっきりしていませんので、単純に等分の確率で選べばいいのではないでしょうか。
|
10
10
|
|
11
|
-
https://jsfiddle.net/2zo2s8g0/
|
11
|
+
[https://jsfiddle.net/2zo2s8g0/1/](https://jsfiddle.net/2zo2s8g0/1/)
|
12
12
|
```HTML
|
13
|
+
<button id="lotteryButton">
|
14
|
+
抽選
|
15
|
+
</button>
|
16
|
+
<h3>
|
17
|
+
ひとまず全部抽選
|
18
|
+
</h3>
|
13
19
|
<div id="pickups">
|
14
20
|
|
15
21
|
</div>
|
16
|
-
<
|
22
|
+
<h3>
|
23
|
+
優先度によって2個まで削減したもの
|
24
|
+
</h3>
|
17
25
|
<div id="output">
|
18
26
|
|
19
27
|
</div>
|
@@ -30,22 +38,25 @@
|
|
30
38
|
{categoryName:"category8", percentage:20, value:"らりるれろ"},
|
31
39
|
{categoryName:"category9", percentage:20, value:"わをん"}
|
32
40
|
];
|
41
|
+
function lottery() {
|
42
|
+
document.getElementById("pickups").innerHTML = "";
|
43
|
+
document.getElementById("output").innerHTML = "";
|
44
|
+
var pickup = [];
|
45
|
+
for(var index in table) {
|
46
|
+
var data = table[index];
|
47
|
+
if(data.percentage > Math.random() * 100) {
|
48
|
+
// あたり
|
49
|
+
pickup.push(data.value);
|
50
|
+
document.getElementById("pickups").innerHTML += data.value + "<br>";
|
51
|
+
}
|
52
|
+
}
|
53
|
+
if(pickup.length > 2) {
|
54
|
+
pickup = [pickup[0], pickup[Math.floor(Math.random() * (pickup.length - 1)) + 1]];
|
55
|
+
}
|
56
|
+
for(var index in pickup) {
|
57
|
+
document.getElementById("output").innerHTML += pickup[index] + "<br>";
|
58
|
+
}
|
59
|
+
}
|
33
60
|
|
34
|
-
document.getElementById("pickups").innerHTML = "";
|
35
|
-
document.getElementById("
|
61
|
+
document.getElementById("lotteryButton").addEventListener("click", lottery);
|
36
|
-
var pickup = [];
|
37
|
-
for(var index in table) {
|
38
|
-
var data = table[index];
|
39
|
-
if(data.percentage > Math.random() * 100) {
|
40
|
-
// あたり
|
41
|
-
pickup.push(data.value);
|
42
|
-
document.getElementById("pickups").innerHTML += data.value + "<br>";
|
43
|
-
}
|
44
|
-
}
|
45
|
-
if(pickup.length > 2) {
|
46
|
-
pickup = [pickup[0], pickup[Math.floor(Math.random() * (pickup.length - 1)) + 1]];
|
47
|
-
}
|
48
|
-
for(var index in pickup) {
|
49
|
-
document.getElementById("output").innerHTML += pickup[index] + "<br>";
|
50
|
-
}
|
51
62
|
```
|