简单的骰子应用程序 - 按时间顺序排列而不是随机排列 (Xcode - Swift)
simple dice app - going in chronological order instead of random one (Xcode - Swift)
我需要在 Xcode(Swift) 中的这段代码中更改什么以使骰子按时间顺序从 1 到 6(每次我按下按钮 +1)并重复再次而不是像现在这样随机进行?
将您拥有的内容更改为以下内容:
** 与 let diceArray
保持一致! **
class ViewController: UIViewController {
@IBOutlet weak var diceImageView1: UIImageView!
let diceArray = [1,2,3,4,5,6]; /* <- use what you have already
@IBAction func rollButtonPressed(_ sender: UIButton) {
if(typeof(diceImageView1.image)=="undefined") diceImageView1.image=null;
switch(diceImageView1.image) {
case diceArray[0]: diceImageView1.image = diceArray[1]; break;
case diceArray[1]: diceImageView1.image = diceArray[2]; break;
case diceArray[2]: diceImageView1.image = diceArray[3]; break;
case diceArray[3]: diceImageView1.image = diceArray[4]; break;
case diceArray[4]: diceImageView1.image = diceArray[5]; break;
default: diceImageView1.image = diceArray[0];
}
}
}
我们正在检查 if(typeof(diceImageView1.image)=="undefined")
因为我不知道代码是如何工作的,所以为了确定,我们设置 diceImageView1.image=null;
.
一开始运行,diceImageView1.image
不应该等于任何一个骰子面,所以default
会把它设为[0]
,也就是上面有1的骰子面
连续 运行 会 switch
到下一个:[0]
(1) 到 [1]
(2) 到 [4]
(5) 到 [5]
(6).
一旦它位于 [5]
(6),就没有 case
,因此 default
,如上所述,将其设置为 [0]
(1).
我需要在 Xcode(Swift) 中的这段代码中更改什么以使骰子按时间顺序从 1 到 6(每次我按下按钮 +1)并重复再次而不是像现在这样随机进行?
将您拥有的内容更改为以下内容:
** 与 let diceArray
保持一致! **
class ViewController: UIViewController {
@IBOutlet weak var diceImageView1: UIImageView!
let diceArray = [1,2,3,4,5,6]; /* <- use what you have already
@IBAction func rollButtonPressed(_ sender: UIButton) {
if(typeof(diceImageView1.image)=="undefined") diceImageView1.image=null;
switch(diceImageView1.image) {
case diceArray[0]: diceImageView1.image = diceArray[1]; break;
case diceArray[1]: diceImageView1.image = diceArray[2]; break;
case diceArray[2]: diceImageView1.image = diceArray[3]; break;
case diceArray[3]: diceImageView1.image = diceArray[4]; break;
case diceArray[4]: diceImageView1.image = diceArray[5]; break;
default: diceImageView1.image = diceArray[0];
}
}
}
我们正在检查 if(typeof(diceImageView1.image)=="undefined")
因为我不知道代码是如何工作的,所以为了确定,我们设置 diceImageView1.image=null;
.
一开始运行,diceImageView1.image
不应该等于任何一个骰子面,所以default
会把它设为[0]
,也就是上面有1的骰子面
连续 运行 会 switch
到下一个:[0]
(1) 到 [1]
(2) 到 [4]
(5) 到 [5]
(6).
一旦它位于 [5]
(6),就没有 case
,因此 default
,如上所述,将其设置为 [0]
(1).