// Calculates and returns bonus amounts to be paid to owners of stock of a // corporation func (g *Game) payBonuses(corp interfaces.Corporation) { stockHolders := g.getMainStockHolders(corp) numberMajorityHolders := len(stockHolders["majority"]) numberMinorityHolders := len(stockHolders["minority"]) for _, majorityStockHolder := range stockHolders["majority"] { if numberMajorityHolders > 1 { majorityStockHolder.AddCash((corp.MajorityBonus() + corp.MinorityBonus()) / numberMajorityHolders) } else { majorityStockHolder.AddCash(corp.MajorityBonus() / numberMajorityHolders) } } for _, minorityStockHolder := range stockHolders["minority"] { minorityStockHolder.AddCash(corp.MinorityBonus() / numberMinorityHolders) } }