简体   繁体   English

虽然Swift中的Loop需要声明?

[英]While Loop in Swift Needs declaration?

I have a tic-tac-toe game where there are 9 buttons, and 9 image views, and each button corresponds to an image view. 我有一个井字游戏,其中有9个按钮和9个图像视图,每个按钮对应一个图像视图。 When the button is pressed, it changed the image view to a picture of an X or an O corresponding to which player pressed the button. 当按下按钮时,它将图像视图更改为X或O的图片,对应于哪个玩家按下了按钮。 Now, I have a variable set up for each of the buttons, and depending on who pressed the button, it will change the variable to 1, or 10(from 0). 现在,我为每个按钮设置了一个变量,根据按下按钮的人,它将变量更改为1或10(从0)。 I need a for or while statement to continuously check to see if a win has occurred. 我需要一个for或while语句来连续检查是否已经赢了。 this is the code I have for my while statement, but it will not work. 这是我的while语句的代码,但无法正常工作。 Any suggestion helps! 任何建议都可以!

var i = 0
while (i < 5)
{
//execute code here
i++
}

All that will display for this code is a red error showing: Expected Declaration with the emphasis on the W in while. 该代码将显示的全部是一个红色错误,显示:期望声明,着重于while中的W。 Code them fails to build when attempted to run. 尝试运行时无法建立代码。

import UIKit




class ViewController: UIViewController {
var i = 0
while (i < 5)
{
//execute code here
i++
}




override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
//end overrides




@IBOutlet var topLeft: UIImageView!
@IBOutlet var topLeftB: UIButton!

@IBOutlet var topCenter: UIImageView!
@IBOutlet var topCenterB: UIButton!

@IBOutlet var topRight: UIImageView!
@IBOutlet var topRightB: UIButton!

@IBOutlet var middleLeft: UIImageView!
@IBOutlet var middleLeftB: UIButton!

@IBOutlet var middleCenter: UIImageView!
@IBOutlet var middleCenterB: UIButton!

@IBOutlet var middleRight: UIImageView!
@IBOutlet var middleRightB: UIButton!

@IBOutlet var bottomLeft: UIImageView!
@IBOutlet var bottomLeftB: UIButton!

@IBOutlet var bottomCenter: UIImageView!
@IBOutlet var bottomCenterB: UIButton!

@IBOutlet var bottomRight: UIImageView!
@IBOutlet var bottomRightB: UIButton!


@IBOutlet var resetButton: UIButton!

var playerTurn = 0
var topLeftScore = 0
var topCenterScore = 0
var topRightScore = 0
var middleLeftScore = 0
var middleCenterScore = 0
var middleRightScore = 0
var bottomLeftScore = 0
var bottomCenterScore = 0
var bottomRightScore = 0


/*    @IBAction func checkScore(sender: UIButton) {
    if topLeftScore + topCenterScore + topRightScore == 3{
        topLeft.image = UIImage(named: "")
    }




}
*/

@IBAction func resetButtonAct(sender: UIButton) {
playerTurn = 0
topLeftB.enabled = true
topCenterB.enabled = true
topRightB.enabled = true
middleLeftB.enabled = true
middleCenterB.enabled = true
middleRightB.enabled = true
bottomLeftB.enabled = true
bottomCenterB.enabled = true
bottomRightB.enabled = true
    topLeft.image = UIImage(named: "")
    topCenter.image = UIImage(named: "")
    topRight.image = UIImage(named: "")
    middleRight.image = UIImage(named: "")
    middleLeft.image = UIImage(named: "")
    middleCenter.image = UIImage(named: "")
    bottomLeft.image = UIImage(named: "")
    bottomCenter.image = UIImage(named: "")
    bottomRight.image = UIImage(named: "")

    topLeftB.hidden = false
    topCenterB.hidden = false
    topRightB.hidden = false
    middleLeftB.hidden = false
    middleCenterB.hidden = false
    middleRightB.hidden = false
    bottomLeftB.hidden = false
    bottomCenterB.hidden = false
    bottomRightB.hidden = false
}


@IBAction func topLeft(sender: UIButton) {

    if playerTurn == 0 {

    topLeft.image = UIImage(named: "Xpix.png")
    playerTurn = playerTurn + 1
    topLeftB.enabled = false
    topLeftB.hidden = true
         topLeftScore = 1

    }
    else if playerTurn == 1 {
        topLeft.image = UIImage(named: "Opix.png")
         playerTurn = playerTurn - 1
        topLeftB.enabled = false
        topLeftB.hidden = true
        topLeftScore = 10
    }
 }

 @IBAction func topCenter(sender: UIButton) {
    topCenterB.hidden = true //included in both
    if playerTurn == 0 {

        topCenter.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        topCenterB.enabled = false

         topCenterScore = 1

    }
    else if playerTurn == 1{
        topCenter.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
        topCenterB.enabled = false
          topCenterScore = 10
    }

 }

 @IBAction func topRight(sender: UIButton) {
    topRightB.hidden = true //included in both
    if playerTurn == 0 {

        topRight.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        topRightB.enabled = false
        topRightScore = 1


    }
    else if playerTurn == 1 {
        topRight.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
        topRightB.enabled = false
        topRightScore = 10
    }



}

@IBAction func middleLeft(sender: UIButton) {
 middleLeftB.hidden = true   //included in both
    if playerTurn == 0 {

        middleLeft.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        middleLeftB.enabled = false
        middleLeftScore = 1

    }
    else if playerTurn == 1 {
        middleLeft.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
        middleLeftB.enabled = false
        middleLeftScore = 10
    }
}

@IBAction func middleCenter(sender: UIButton) {
   middleCenterB.hidden = true //included in both
    if playerTurn == 0 {

        middleCenter.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        middleCenterB.enabled = false
        middleCenterScore = 1
    }
    else if playerTurn == 1 {
        middleCenter.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
        middleCenterScore = 10
    }

 }


@IBAction func middleRight(sender: UIButton) {
middleRightB.hidden = true //included in both
if playerTurn == 0 {

        middleRight.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        middleRightB.enabled = false
         middleRightB.hidden = true
        middleRightScore = 1
    }
    else if playerTurn == 1 {
        middleRight.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
        middleRightB.enabled = false
         middleRightB.hidden = true
        middleRightScore = 10
    }


}


@IBAction func bottomLeft(sender: UIButton) {
   bottomLeftB.hidden = true
    if playerTurn == 0 {

        bottomLeft.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        bottomLeftB.enabled = false
        bottomRightScore = 1

    }
    else if playerTurn == 1 {
        bottomLeft.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
    bottomLeftB.enabled = false
        bottomRightScore = 10
    }

}


@IBAction func bottomCenter(sender: UIButton) {
bottomCenterB.hidden = true
    if playerTurn == 0 {

        bottomCenter.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        bottomCenterB.enabled = false
        bottomCenterScore = 1

    }
    else if playerTurn == 1 {
        bottomCenter.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
    bottomCenterB.enabled = false
        bottomCenterScore = 10
    }


}


@IBAction func bottomRight(sender: UIButton) {
    bottomRightB.hidden = true
    if playerTurn == 0 {

        bottomRight.image = UIImage(named: "Xpix.png")
        playerTurn = playerTurn + 1
        bottomRightB.enabled = false
        bottomRightScore = 1

    }
    else if playerTurn == 1 {
        bottomRight.image = UIImage(named: "Opix.png")
        playerTurn = playerTurn - 1
    bottomRightB.enabled = false
        bottomRightScore = 10
    }

    }//ends last function




}

You have written that code (the while loop) at a class level. 您已经在类级别上编写了该代码(while循环)。 You need to move it to a function for your code to compile. 您需要将其移至函数中以进行代码编译。

class ViewController: UIViewController {
// your code was here

    function functionLevel() -> Void {
         var i = 0
         while (i < 5) {
              i++
         }

    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM