回答編集履歴
3
2つ目にあげたコードの「不正解」選択肢の例の挙げ方に統一感がなかったので、読んだ時わかりやすいように統一しました。
test
CHANGED
@@ -80,7 +80,7 @@
|
|
80
80
|
|
81
81
|
```swift
|
82
82
|
|
83
|
-
csvArray = ["問題,正解,不正解1,不正解2,
|
83
|
+
csvArray = ["問題,正解,不正解1,不正解2,不正解3,不正解4"]
|
84
84
|
|
85
85
|
quizArray = csvArray[quizCount].components(separatedBy: ",")
|
86
86
|
|
2
説明微調整
test
CHANGED
@@ -110,4 +110,4 @@
|
|
110
110
|
|
111
111
|
|
112
112
|
|
113
|
-
あとは、押したボタンに設定されている選択肢と、あらかじめデータに用意しておいた最初の選択肢(正解の選択肢)とが一致しているか判定することで「正解番号」を持たせなくても、正解判定ができそうです。
|
113
|
+
あとは、押したボタンに設定されている選択肢と、あらかじめデータに用意しておいた最初の選択肢(正解の選択肢)とが文字列的に一致しているか判定することで「正解番号」を持たせなくても、正解判定ができそうです。
|
1
説明調整
test
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
|
76
76
|
|
77
|
-
そうすると「正解の選択肢」が最初にあるので、それ (`quizArray[1]`) はそのまま、それ以降の選択肢 (`quizArray[2...]`) から無作為 (`shuffled()`) に3つを抽出 (`prefix(3)`)して連結すると、正解を必ず含む4つの選択候補が出来上がります。それをさらにランダムに並べ替えれば、正解がどこにあるかわからない4つの選択候補が出来上がります。
|
77
|
+
そうすると「正解の選択肢」が最初にあるので、それ (`quizArray[1]`) はそのまま、それ以降の選択肢 (`quizArray[2...]`) から無作為 (`shuffled()`) に並べたうちの先頭3つを抽出 (`prefix(3)`)して(表現がややこしいですが、簡単に言い換えると『無作為に3つ抽出』です)、それを正解と連結すると、正解を必ず含む4つの選択候補が出来上がります。それをさらにランダムに並べ替えれば、正解がどこにあるかわからない4つの選択候補が出来上がります。
|
78
78
|
|
79
79
|
|
80
80
|
|