Imは、低いロー・ゲームに似たものを作ろうとしています。今のところ私は生成される1から25の間の新しい整数を得ることができます。 Iveは 'lower'ボタンを押すと新しい整数を前のものと比較する関数を書こうとしました。それよりも小さければ 'You Were Correct'と表示され、ユーザースコア+1が更新されます。前の値と比較して新しい整数をチェックする問題
下のボタンを押すたびに新しいintが返されますが、スコアは更新されず、メッセージは表示されません。この
var countWin = 0
let countLose = 0
を使用し、これはとても私と一緒にクマ作るのが私の最初の本当の試み:)
下のボタンである
@IBAction func lower(sender: AnyObject) {
var newNumber = randomIntBetween(2, high: 26)
var oldNumber: Int?
func lowerNumber() -> Int {
if newNumber <= oldNumber {
correctWrong.text = "You Were Correct!"
score.text = "Score: \(countWin++)"
} else {
correctWrong.text = "You Were Wrong!"
score.text = "Score: \(countLose)"
}
return newNumber
}
randomNumbers.text = "\(newNumber)"
}
乱数機能
func randomIntBetween(low:Int, high:Int) -> Int {
let range = high - (low - 1)
return (Int(arc4random()) % range) + (low - 1)
}
変数/定数のおかげ
私は少し混乱しています。ここにコピー/ペーストエラーはありますか? lowerNumber関数が下位のIBAction関数内にネストされており、そのネストされたメソッドが呼び出されることはありません。私が見るところでは、ユーザーがボタンを押したときに、2つの変数を宣言してテキストフィールドのテキストを更新するだけです。さらに、oldNumberをIBAction関数内のvarではなくクラスプロパティにしたいと思っています。 – ghostatron
いいえ、これはこのようなものを試してみた私の最初の試みであり、私はそれを正しくやっているかどうか完全にはっきりとしていないので、素早くやっていません。 Victorが修正したものから、今どこが間違っているのかを確認してください。 – Jeremy