Swift 如何使函数选择随机路径?
所以我要做的是调用一个函数,它只运行4个可能函数中的1个,所以它随机决定执行哪一个 在本例中,我尝试随机选择的4个函数是moveUp()moveDown()moveRight()和moveLeft() 这就是我现在所拥有的,它并不是真的运作良好。我找不到任何帮助Swift 如何使函数选择随机路径?,swift,Swift,所以我要做的是调用一个函数,它只运行4个可能函数中的1个,所以它随机决定执行哪一个 在本例中,我尝试随机选择的4个函数是moveUp()moveDown()moveRight()和moveLeft() 这就是我现在所拥有的,它并不是真的运作良好。我找不到任何帮助 func moveComputerPlayer() { //This is where I have no idea what to do. "randomly choose to run: moveRight(), moveLeft
func moveComputerPlayer() {
//This is where I have no idea what to do.
"randomly choose to run: moveRight(), moveLeft(), moveUp(), moveDown()
}
谢谢。使用arc4random()
或arc4random\u uniform()
生成随机数。例如,使用switch case语句将数字与其中一个函数相关联
就你而言:
func moveComputerPlayer() {
let rd = Int(arc4random_uniform(4) + 1)
switch rd {
case 1:
moveRight()
case 2:
moveLeft()
case 3:
moveUp()
case 4:
moveDown()
default:
print(rd)
}
}
使用arc4random()
或arc4random\u uniform()
生成随机数。例如,使用switch case语句将数字与其中一个函数相关联
就你而言:
func moveComputerPlayer() {
let rd = Int(arc4random_uniform(4) + 1)
switch rd {
case 1:
moveRight()
case 2:
moveLeft()
case 3:
moveUp()
case 4:
moveDown()
default:
print(rd)
}
}
func moveUp() {}
func moveDown() {}
func moveLeft() {}
func moveRight() {}
func moveComputerPlayer() {
let moves = [
moveUp,
moveDown,
moveLeft,
moveRight,
]
let randomIndex = Int(arc4random_uniform(UInt32(moves.count)))
let selectedMove = moves[randomIndex]
selectedMove()
}
func moveUp() {}
func moveDown() {}
func moveLeft() {}
func moveRight() {}
func moveComputerPlayer() {
let moves = [
moveUp,
moveDown,
moveLeft,
moveRight,
]
let randomIndex = Int(arc4random_uniform(UInt32(moves.count)))
let selectedMove = moves[randomIndex]
selectedMove()
}
请看这里:
然后:
let diceRoll = Int(arc4random_uniform(4) + 1)
switch (diceRoll) {
case 1:
moveRight()
case 2:
moveLeft()
case 3:
moveUp()
case 4:
moveDown()
default:
print("Something was wrong:" + diceRoll)
}
请看这里:
然后:
let diceRoll = Int(arc4random_uniform(4) + 1)
switch (diceRoll) {
case 1:
moveRight()
case 2:
moveLeft()
case 3:
moveUp()
case 4:
moveDown()
default:
print("Something was wrong:" + diceRoll)
}
这也太好了!这也太好了!