打印数组的随机数(Swift)

打印数组的随机数(Swift),swift,random,Swift,Random,首先,这是我的前一个问题,所以你知道我想做什么 我们正在努力做一个小游戏。我们制作了一种怪物战斗游戏。我们在游戏中制作了物品,但我想让它们在怪物旁边掉落。做了不同的类型,想知道如何编码,以获得项目的下降机会。。。像 现在我知道这是怎么回事了,我只能从我的列表中随机抽取一个项目 所以我真正想要的是在我打印“NormalType”列表时得到一个随机项 protocol NormalType { var name: String { get } } class knife: NormalTy

首先,这是我的前一个问题,所以你知道我想做什么

我们正在努力做一个小游戏。我们制作了一种怪物战斗游戏。我们在游戏中制作了物品,但我想让它们在怪物旁边掉落。做了不同的类型,想知道如何编码,以获得项目的下降机会。。。像

现在我知道这是怎么回事了,我只能从我的列表中随机抽取一个项目

所以我真正想要的是在我打印“NormalType”列表时得到一个随机项

protocol NormalType {
    var name: String { get }
}

class knife: NormalType {
    let name = "Knife"
    let Str = 10
}
class sword: NormalType {
    let name = "Sword"
    let Str = 20
}
class katana: NormalType {
    let name = "Katana"
    let Str = 30
}


class RareType {
    class Knife: RareType {
        var Str = 10
        var Hp = 10
    }
    class sword: RareType {
        var Str = 20
        var HP = 15
    }
    class Katana: RareType {
        var Str = 30
        var Hp = 20
    }
}

class LegendaryType {
    class Knife: LegendaryType {
        var Str = 10
    }
    class sword: LegendaryType {
        var Str = 20
    }
    class Katana: LegendaryType {
        var Str = 30
    }
}
var Knife = knife()
var Sword = sword()
var Katana = katana()

var Items: [NormalType] = [Knife, Sword, Katana]
var randomnumber = (arc4random_uniform(2))

print(Items[randomnumber])

所以你犯了一个小错误这是代码:

您忘了将:
(arc4random\u uniform(2))


我建议你看看我对你上一个问题的非常详细的回答:它显示了(在杀死一个怪物之后)你如何调用类
怪物
.dropItem()
方法,它将随机返回一个持有你不同稀有性的
枚举的案例。您应该能够推广此方法,不仅删除随机稀有项,而且删除随机项。你看,我可能会试试,但我正从这一切开始,所以。。。你的答案对我来说有点难理解,所以我希望得到一个更简单的答案:P十天前才开始写这个我明白了:)不管怎样,我在前面的线程中也向示例中添加了项目类型(例如,灵感),但我看到您得到了这个问题所需的内容。祝你的比赛好运!我在操场上第一次参加了工作考试!非常感谢!
import UIKit

protocol NormalType {
    var name: String { get }
}

class knife: NormalType {
    let name = "Knife"
    let Str = 10
}
class sword: NormalType {
    let name = "Sword"
    let Str = 20
}
class katana: NormalType {
    let name = "Katana"
    let Str = 30
}



class RareType {
    class Knife: RareType {
        var Str = 10
        var Hp = 10
    }
    class sword: RareType {
        var Str = 20
        var HP = 15
    }
    class Katana: RareType {
        var Str = 30
        var Hp = 20
    }

}

class LegendaryType {
    class Knife: LegendaryType {
        var Str = 10
    }
    class sword: LegendaryType {
        var Str = 20
    }
    class Katana: LegendaryType {
        var Str = 30
    }

}
var Knife = knife()
var Sword = sword()
var Katana = katana()

var Items: [NormalType] = [Knife, Sword, Katana]
var randomnumber =   Int(arc4random_uniform(2))



print(Items[randomnumber])