2016-07-26 125 views
0

假设有一个名为一类“弓箭手”概率算法

class Archer { 
    var Name : String 
    var Spirit : Double 
    init(Name : String, Spirit: Double){ 
     self.Name = Name 
     self.Spirit = Spirit 
    } 

} 

我们将提出两个弓箭手

var Hawkeye = Archer(Name : "Hawkeye", Spirit : 70.00) 
var Legolas = Archer(Name : "Logolas", Spirit : 50.00) 

我们让他们的对决,而规则是:

每个人都会有更大的可能性,他们会以最快的速度进攻,直到有人死亡。

问题是:如何根据自己的精神制定一个公平的战斗算法?

+1

请具体定义你的意思是“最好”和“公平” – Feldur

+0

这是你在找什么:[用给定的分布生成随机数](http://stackoverflow.com/questions/30309556/generate-随机数与给定分布)? –

回答

0

在战斗中生成一个介于1和总SPIRIT之间的随机数(在本例中为70 + 50 = 120)。如果随机数小于或等于玩家精神,那么玩家先攻击,否则玩家2先攻击。