1
乱数ジェネレータを使用して算術上の問題を表示するアプリ(iOS)を作成しようとしています。乱数発生器は、ユーザがどのような操作(乗算、減算、加算)を実行するか、どのオペランドが使用されるかを決定します。ユーザーは、セグメント化されたコントロールを使用して難易度を選択できます。iOSモバイルアプリのXcode 7(Swift 2)に検証ループを書き込もうとしました。無限ループでスタックしました
ユーザーには、正しい答えを提供する3回の試行があります。ユーザーはテキストフィールドに回答を入力し、ボタンを押して回答を提出します。 3回目の試行後にユーザーが正しく回答しないと、プログラムは正しい回答を表示し、新しい問題が表示されます。
私は3つの試みをユーザに提供するためのコードを書くのが難しいです。今のところ無限ループを成功させました。以下は、私のコードの一部である(注:私は現在、グローバル変数であるint型):
@IBAction func submitAnswer(sender: UIButton) {
var newAnswer=0
if enteredAnswer.text!.isEmpty {
let alert = UIAlertController(title: "Warning!", message: "Please enter an answer.", preferredStyle: UIAlertControllerStyle.Alert)
let cancelAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Cancel, handler: nil)
alert.addAction(cancelAction)
presentViewController(alert, animated: true, completion: nil)
}
else {
let textAnswer: String = enteredAnswer.text!
let userAnswer = Int(textAnswer)!
if correctAnswer != userAnswer && i < 3{
newAnswer = userAnswer
while newAnswer != correctAnswer {
feedback.text = "Try Again!"
enteredAnswer.text = ""
newAnswer = Int(textAnswer)!
i+=1
}
}
if correctAnswer == userAnswer {
feedback.text = "Correct Answer!"
enteredAnswer.text = ""
score += 1
scoreValue.text = String(score)
i=0
setProblem()
}
else {
feedback.text = "The correct answer \n in \n \(correctAnswer)!"
enteredAnswer.text = ""
score -= 1
scoreValue.text = String(score)
i=0
setProblem()
}
}
}
whileループの目的は何ですか? –