Skip to content

Instantly share code, notes, and snippets.

@tkgshn
Last active October 3, 2020 04:46
Show Gist options
  • Save tkgshn/dde13bf5db0e34e6e41acef4fb788ef2 to your computer and use it in GitHub Desktop.
Save tkgshn/dde13bf5db0e34e6e41acef4fb788ef2 to your computer and use it in GitHub Desktop.
完璧!
let Dic = [
["japanese": "私", "english": "I", "phraseAudioName" : "人称"],
["japanese": "私とあなた", "english": "I and You", "phraseAudioName" : "国と言語"],
["japanese": "私たち", "english": "both of us", "phraseAudioName" : "人称"],
["japanese": "彼", "english": "he", "phraseAudioName" : "国と言語"],
["japanese": "彼と彼女", "english": "he and she", "phraseAudioName" : "人称"],
["japanese": "彼ら", "english": "they both", "phraseAudioName" : "国と言語"],
]
let DicCount: Int = Dic.count //辞書の中の全部の数を数える
// 日本語のものだけを集めたものを表示(全体)
let onlyJapanese = Dic.map{$0["japanese"]!}
// 今回出題する問題のIndex番号
// 全部の中からランダムに出題していく(順番はバラバラだけど最後には全部なくなっているようにしなきゃいけない)
let questionList = [0, 1, 2, 3, 4, 5]
let randomQuestionList = questionList.shuffled()
// 数字でDicの番号を指定して、その中のenglishを吐き出す関数
func getQuestion(_ index: Int) -> String {
let question = Dic[index]["english"]!
return question
}
// 数字でDicのリスト番号を指定して、その中のjapaneseを吐き出す関数
func getJapaneseQuestion(_ index: Int) -> String {
let japaneseWord = Dic[index]["japanese"]!
return japaneseWord
}
// ここで問題を出題する
print("次の英語に当てはまる日本語を選択してください \n \(getQuestion(randomQuestionList[0]))") // この部分を問題が表示するたびに0, 1, 2と更新していかなければいけない
//ここから選択肢を表示する部分
let answer = getJapaneseQuestion(randomQuestionList[0]) // これは答えにしておく
//print("選択肢①: \(answer)")
let Choices = onlyJapanese.filter { $0 != answer} // 全ての選択肢
let shuffleChoices = Choices.shuffled() // 選択肢をシャッフル
//print("選択肢②: \(shuffleChoices[0])") // 選択肢②
//print("選択肢③: \(shuffleChoices[1])") // 選択肢③
//答え・選択肢2・選択肢3をごちゃ混ぜ
let showCoices = [answer, shuffleChoices[0], shuffleChoices[1]].shuffled()
//以下の中でどれが選択肢かどうかはわからない
print("選択肢①: \(showCoices[0])")
print("選択肢②: \(showCoices[1])")
print("選択肢③: \(showCoices[2])")
@tkgshn
Copy link
Author

tkgshn commented Oct 2, 2020

change to public

@tecsoc
Copy link

tecsoc commented Oct 2, 2020

https://gist.github.com/tkgshn/dde13bf5db0e34e6e41acef4fb788ef2/revisions#diff-f8c2b8878291d279e9cf31ea0cbd3f10R15

let questionList = [0, 1, 2, 3, 4, 5]

この部分、rangeを使ってはどうでしょうか?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment