2016-07-26 119 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先攻擊。