Пример #1
0
func (self *phase) Winner(s dip.Validator) *dip.Nation {
	sizes := map[dip.Nation]int{}
	for _, nat := range s.SupplyCenters() {
		sizes[nat]++
	}
	var biggest *dip.Nation
	var bigSize int
	for nat, size := range sizes {
		if biggest == nil || size > bigSize {
			natCpy := nat
			biggest = &natCpy
			bigSize = size
		}
	}
	if bigSize > 17 {
		return biggest
	}
	return nil
}