Şimdi benim problemim, bir kişi bir metin alanında "42" ile aynı olmayan bir şey yazıyorsa (bu, etiket.text ile aynı olacak şekilde bir puan çizgisi saymaya çalışırken)) 1 eksi puan ile cezalandırılacaklar. Eğer "42" olmayan bir şey yazdıysam, bunun için sadece 1 eksi puan verir ama sadece ilk kez. Eğer tekrar yaparsam, skor çizgisi değişmeyecek ve böylece -1 skor çizgisinde sıkışıp kalacağım.Hızla sayma skoru
Her seferinde "42" olmayan bir şey yazdığımda, nasıl bir -1 puanı alsam bile bana -1 puan kazandırabilirim?
import UIKit
class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// MARK: PROBERTIES
@IBOutlet weak var label: UILabel!
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var scoreLabel: UILabel!
@IBOutlet weak var photoImageView: UIImageView!
@IBOutlet weak var label2: UILabel!
@IBOutlet weak var label1: UILabel!
let imagePicker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
textField.delegate = self
imagePicker.delegate = self
}
func textFieldShouldReturn(textField: UITextField) -> Bool {
textField.resignFirstResponder()
return true
}
func textFieldDidEndEditing(textfield: UITextField) {
label.text = textField.text
var score = 0
if textField.text != "42" {
score -= 1
}
// MARK: if-statements
if label.text! == "42" {
label1.text = "You are correct"
self.view.backgroundColor = UIColor.greenColor()
score += 10
}
if label.text != "42" {
label1.text = "Damn, wrong"
self.view.backgroundColor = UIColor.redColor()
}
if label.text!.isEmpty {
label1.text = "Still waiting for an answer..."
}
if label.text == "happiness" {
label1.text = "It is not a key element in the meaning of life"
}
if label.text == "to be happy" {
label1.text = "i would rather be rich"
}
if label.text == "money" {
label1.text = "there is more in this world than money"
}
if label.text == "There is no meaning of life" {
label1.text = "There is a meaning to everything"
}
if label.text == "there is no meaning of life"
{
label1.text = "there is a meaning to everything"
}
if label.text == "to be rich" {
label1.text = "Money does not solve every problem"
}
var scoreString = String(score)
scoreLabel.text = "Your score is \(scoreString)"
}
Merhaba "Tam olarak bir -1 puanı alsam bile" "42 puan vermeyeceğim bir şey yazdığım her seferinde bunu nasıl yapabilirim?" 100 puanınız var, yazmamıza rağmen 42 puan size 99 puan verecek ve eğer tekrar 42 yazmıyorsanız o zaman 99 kalacaktır? Ya da 98 mi? – StealthOne
Demek istediğim, "-1" ("42" olmayan bir şey yazıyorsam) ve "+10" (eğer "42" yazıyorsam) bir kez tetikleyebilirim. Örneğin, scoreline 0 ile başladım ve 42'ye eşit olmayan bir şey yazdım, sonra textfield'i kurtararak bitirdim ve skorum, "Skorunuz -1" olarak değişiyor, fakat yeniden düzenleme yapmaya başladığımda ve "42" ye eşit olmayan bir şey yazdığımda "o zaman benim skorumLabel hala aynı görünüyor" Puan -1 " –