回答編集履歴
7
update
test
CHANGED
@@ -57,6 +57,8 @@
|
|
57
57
|
簡単な問題順に定義して、並び替えると出題傾向を弄れる?
|
58
58
|
|
59
59
|
コードがやっつけなのは勘弁!(今になってSVGが習い立てなもんで)
|
60
|
+
|
61
|
+
ちょろめと火狐では大きく違うね!こりゃ~つかえないか?
|
60
62
|
|
61
63
|
```html
|
62
64
|
|
6
ソートによるシャッフルの視覚化
test
CHANGED
@@ -49,3 +49,117 @@
|
|
49
49
|
|
50
50
|
|
51
51
|
冒頭で'use strict'という見慣れない文字列を見たが、それらしいの使ってる?w
|
52
|
+
|
53
|
+
|
54
|
+
|
55
|
+
ちょっと興味がわいたのでソートによるシャッフルを調べてみた。
|
56
|
+
|
57
|
+
簡単な問題順に定義して、並び替えると出題傾向を弄れる?
|
58
|
+
|
59
|
+
コードがやっつけなのは勘弁!(今になってSVGが習い立てなもんで)
|
60
|
+
|
61
|
+
```html
|
62
|
+
|
63
|
+
<!DOCTYPE html>
|
64
|
+
|
65
|
+
<html lang="ja">
|
66
|
+
|
67
|
+
<title>?</title>
|
68
|
+
|
69
|
+
<meta charset="utf-8">
|
70
|
+
|
71
|
+
<style>
|
72
|
+
|
73
|
+
table tbody:first-of-type { display: none; }
|
74
|
+
|
75
|
+
</style>
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
<body>
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
<table border="1">
|
84
|
+
|
85
|
+
<caption><em>arry.sort (()=>Math.random() - X)</em> のX値による0番の移動した出現分布の累積
|
86
|
+
|
87
|
+
<tbody><tr><th><td><svg width="800" height="120" xmlns="http://www.w3.org/2000/svg"></svg>
|
88
|
+
|
89
|
+
</table>
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
<script>
|
94
|
+
|
95
|
+
const
|
96
|
+
|
97
|
+
N = 100,
|
98
|
+
|
99
|
+
A = Array (N).fill().map ((_,i)=>i),
|
100
|
+
|
101
|
+
S = 0.3,
|
102
|
+
|
103
|
+
E = 0.7,
|
104
|
+
|
105
|
+
R = 1000,//繰り返し回数
|
106
|
+
|
107
|
+
C = 0, // 0番がどこに移動するか
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
table = document.querySelector ('table'),
|
112
|
+
|
113
|
+
tbody = table.querySelector ('tbody:first-of-type'),
|
114
|
+
|
115
|
+
rect = document.createElementNS ('http://www.w3.org/2000/svg', 'rect'),
|
116
|
+
|
117
|
+
setAtr = (e,o)=>[...Object.entries(o)].forEach(([a,b])=>e.setAttribute(a,b));
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
setAtr (rect, { width: 8, style: 'fill:rgb(0,0,255)'});
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
function sikakuka (n, ary) {
|
126
|
+
|
127
|
+
let tb = table.appendChild (tbody.cloneNode (true));
|
128
|
+
|
129
|
+
let [th, svg] = tb.querySelectorAll ('th, svg');
|
130
|
+
|
131
|
+
th.textContent = "x = " + n.toFixed (3);
|
132
|
+
|
133
|
+
ary.forEach ((a, i) =>setAtr (svg.appendChild (rect.cloneNode (false)), {x: i*8, y:120-a, height: a}));
|
134
|
+
|
135
|
+
}
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
for (let i = S; i < E; i += .025) {
|
142
|
+
|
143
|
+
let c = Array (N).fill (0);
|
144
|
+
|
145
|
+
for (let j = 0; j < R; j++) {
|
146
|
+
|
147
|
+
let a = A.slice ();
|
148
|
+
|
149
|
+
a.sort (()=>Math.random () - i);
|
150
|
+
|
151
|
+
c[a.indexOf (C)]++;
|
152
|
+
|
153
|
+
}
|
154
|
+
|
155
|
+
sikakuka (i, c);
|
156
|
+
|
157
|
+
}
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
</script>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
```
|
5
anser の代入を修正した。
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
変数 anser に代入するときは、元の配列である flag から1つ減らす必要がある
|
8
8
|
|
9
|
-
anser = flag.shift ();
|
9
|
+
[,anser] = flag.shift ();
|
10
10
|
|
11
11
|
みたいにする。
|
12
12
|
|
4
訂正
test
CHANGED
@@ -16,9 +16,9 @@
|
|
16
16
|
|
17
17
|
関数 Shuffle の変数 i の使い方に無駄がある。
|
18
18
|
|
19
|
-
グローバル変数が沢山あって脳内
|
19
|
+
グローバル変数が沢山あって脳内で解釈しながら理解するのが辛い。
|
20
20
|
|
21
|
-
インデント
|
21
|
+
プログラムコードにインデントしてほしい。
|
22
22
|
|
23
23
|
HTMLも見てみたいな。
|
24
24
|
|
3
追加
test
CHANGED
@@ -38,4 +38,14 @@
|
|
38
38
|
|
39
39
|
|
40
40
|
|
41
|
+
どうでもよいこと、
|
42
|
+
|
43
|
+
ソートによるシャッフルの件だけど、偏りがあるのはしょうがない。
|
44
|
+
|
45
|
+
それを逆手にとって出題傾向をなんとなくだけど制御できるのではないか?
|
46
|
+
|
47
|
+
旗の数が増えると効率が落ちるけれど、それで十分だと、私も思います。
|
48
|
+
|
49
|
+
|
50
|
+
|
41
51
|
冒頭で'use strict'という見慣れない文字列を見たが、それらしいの使ってる?w
|
2
追加
test
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
関数 setQuestion が呼ばれるたびにシャッフルする必要はない。関数 init で済ませる
|
2
2
|
|
3
|
-
配列 flags をシャッフルして flag にコピーしているのよね。
|
3
|
+
配列 flags をシャッフルして flag に配列としてコピーしているのよね。
|
4
4
|
|
5
|
-
なので flag.length を評価するようにする
|
5
|
+
なので flags.length ではなくflag.length を評価するようにする
|
6
6
|
|
7
7
|
変数 anser に代入するときは、元の配列である flag から1つ減らす必要がある
|
8
8
|
|
@@ -26,6 +26,8 @@
|
|
26
26
|
|
27
27
|
すると画像がなくても確認できるから。(本当はやらなきゃいけないこと)
|
28
28
|
|
29
|
+
音声でゲームをしている人には、聞こえちゃいますがw
|
30
|
+
|
29
31
|
|
30
32
|
|
31
33
|
さらに余計なこと、
|
@@ -33,3 +35,7 @@
|
|
33
35
|
もし旗が1万種類あったとして、旗の情報を1万個並び替えるより、インデックス番号だけの
|
34
36
|
|
35
37
|
配列をソートしたほうが負担が少ないかな。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
冒頭で'use strict'という見慣れない文字列を見たが、それらしいの使ってる?w
|
1
追加
test
CHANGED
@@ -25,3 +25,11 @@
|
|
25
25
|
img の src に代入するときは alt にも代入してほしい。
|
26
26
|
|
27
27
|
すると画像がなくても確認できるから。(本当はやらなきゃいけないこと)
|
28
|
+
|
29
|
+
|
30
|
+
|
31
|
+
さらに余計なこと、
|
32
|
+
|
33
|
+
もし旗が1万種類あったとして、旗の情報を1万個並び替えるより、インデックス番号だけの
|
34
|
+
|
35
|
+
配列をソートしたほうが負担が少ないかな。
|