[英]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.