gpt4 book ai didi

arrays - 从一个函数内部更新另一个函数中的变量

转载 作者:行者123 更新时间:2023-11-30 10:02:05 26 4
gpt4 key购买 nike

我正在尝试更新另一个函数内部的 Int 变量(来自一个函数)的值。我现在拥有的是两个在任何函数之外都声明为 0 的变量。然后在一个函数中,它们被分配一个值 1 或 0。到目前为止,一切都很好。然后,当用户点击 UIImageView 时,我尝试更新变量(从一个变量中减去 3,然后向另一个变量添加 2)。我遇到的问题是,不是在 1 和 0 上减去 3 再加上 2,而是在变量声明的原始 0 上减去 3 并加上 2。

var playerA:Int = 0
var playerB:Int = 0

func firstFunction(playerA:Int, playerB:Int) {
if counter%2 {
playerA = 1
playerB = 0
}
else {
playerA = 0
playerB = 1
}
}

func secondFunction(playerA:Int, playerB:Int) {
counter += 1
if counter%2 0 {
playerA += -3
playerB += 2
}
else {
playerA += 2
playerB += =3
}

这里第二个函数返回 -3 和 2,而不是 -2 和 2。

我解决这个问题的想法是使用从 firstFunction 返回的数组,并通过索引引用元素(就像这样 ->[Int, Int] 其中整数是 playerAplayerB)。

最佳答案

我假设您的代码部分存在一些拼写错误,因此我决定修复它们,以便这些函数能够反射(reflect)您的编写。在这种情况下也没有理由传递参数:

var counter: Int = 0
var playerA: Int = 0
var playerB: Int = 0

func firstFunction() {
if counter % 2 == 0 {
playerA = 1
playerB = 0
}
else
{
playerA = 0
playerB = 1
}
}

func secondFunction() {
counter += 1
if counter % 2 == 0 {
playerA -= 3
playerB += 2
}
else
{
playerA += 2
playerB -= 3
}
}

关于arrays - 从一个函数内部更新另一个函数中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37865044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com