打印数组的随机数(Swift) [英] Random number to print array (Swift)

查看:79
本文介绍了打印数组的随机数(Swift)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

首先这是我之前的问题,所以你会看到我想要做什么.

First of all here's my previous question so you see what I'm trying to make.

我们正在尝试制作一个小型游戏.我们制作了一种怪物格斗游戏.我们为游戏制作了物品,但我希望它们能被怪物掉落.制作了不同的类型,并想知道如何编码以获得物品的掉落机会......就像

We are trying to make a Small game. We made a sort of monster fighting game. We made items to the game but I want them to drop by the monster. made different types and would like to know how to code to get a Drop Chance on the Items... like

所以现在我知道这是如何工作的,我不得不从我的列表中随机获取一个项目.

So now I know how that works I'm stuck to get a random item from my list.

所以我真正想要的是在我打印它时获得我的NormalType"列表的随机项目..

So what I actually want is to get a Random item of my "NormalType" list when i print it..

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])

推荐答案

所以你犯了一个小错误,代码如下:

So you made a little mistake here's the code:

您忘记转换为 Int 了:(arc4random_uniform(2))

You have forgot to convert to Int the : (arc4random_uniform(2))

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])

这篇关于打印数组的随机数(Swift)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆