Ich bin im Moment der Swift Guy Tutorial für ein Tic Tac Toe Spiel (https://www.youtube.com/watch?v=rD3uqeLdal8) und ich bin wirklich auf ein Problem mit dem Code stecken.Tic Tac Toe Krawatte Swift 3
Während das Spiel bestimmt, ob es ein Unentschieden gibt (Gleichstand), manchmal, wenn alle Felder auf dem Brett genommen werden und es einen Gewinn gibt, sagt das Spiel, dass es ein Gleichstand ist, wenn das Kreuz oder Nichts gewinnen sollte. Es registriert nicht den Gewinn. Wenn mir jemand dabei helfen könnte, würde ich das schätzen.
var activePlayer = 1 //Cross
var gameState = [0, 0, 0, 0, 0, 0, 0, 0, 0]
let winningCombinations = [[0, 1, 2], [3, 4, 5], [6, 7, 8], [0, 3, 6], [1, 4, 7], [2, 5, 8], [0, 4, 8], [2, 4, 6]]
var gameIsActive = true
@IBOutlet weak var label: UILabel!
@IBAction func action(_ sender: AnyObject)
{
if (gameState[sender.tag-1] == 0 && gameIsActive == true)
{
gameState[sender.tag-1] = activePlayer
if (activePlayer == 1)
{
sender.setImage(UIImage(named: "Cross.png"), for: UIControlState())
activePlayer = 2
}
else
{
sender.setImage(UIImage(named: "Nought.png"), for: UIControlState())
activePlayer = 1
}
}
for combination in winningCombinations
{
if gameState[combination[0]] != 0 && gameState[combination[0]] == gameState[combination[1]] && gameState[combination[1]] == gameState[combination[2]]
{
gameIsActive = false
if gameState[combination[0]] == 1
{
label.text = "CROSS HAS WON!"
}
else
{
label.text = "NOUGHT HAS WON!"
}
playAgainButton.isHidden = false
label.isHidden = false
}
}
gameIsActive = false
for i in gameState
{
if i == 0
{
gameIsActive = true
break
}
}
if gameIsActive == false
{
label.text = "IT WAS A DRAW"
label.isHidden = false
playAgainButton.isHidden = false
}
}
löschen 'gameIsActive = false' vor' für i in gameState' –
@CleverError leider noch es sagen, es ist ein Unentschieden, wenn Quer gewinnt. – danya
ich denke, es ist meine Nacht für dumme Fragen. Ich sehe, wo Ihr winningCombinations-Array Null-Base ist (wie man es erwarten würde). Aber ich sehe auch, dass Sie 1 von der Tag-Eigenschaft dekrementieren. Ist das das Problem? – dfd