回答編集履歴

2

均等にならないシャッフルになっていたため修正

2016/09/25 03:13

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -18,7 +18,9 @@
18
18
 
19
19
  for (int i = cards.length - 1; i > 0; i--) {
20
20
 
21
- int index = (int)(Math.random() * i);
21
+ int index = (int)(Math.random() * (i + 1));
22
+
23
+ if (index == i) continue;
22
24
 
23
25
  int temp = cards[i];
24
26
 

1

シャッフルの継続条件にイコールは要らなかった

2016/09/25 03:13

投稿

swordone
swordone

スコア20651

test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  // シャッフル(156枚のカードの中から無作為に選んで順番に並べていくイメージ)
18
18
 
19
- for (int i = cards.length - 1; i >= 0; i--) {
19
+ for (int i = cards.length - 1; i > 0; i--) {
20
20
 
21
21
  int index = (int)(Math.random() * i);
22
22