Files
galaxy-game/pkg/generator/settings.go
T
2025-09-12 21:32:50 +03:00

83 lines
1.6 KiB
Go

package generator
type MapSetting struct {
Players uint32
HWSize uint32
HWResources uint32
HWMinDistance uint32
DWCount uint32
DWSize uint32
DWResources uint32
DWMinDistance uint32
DWMaxDistance uint32
GiantPlanets PlanetSetting
BigPlanets PlanetSetting
NormalPlanets PlanetSetting
RichPlanets PlanetSetting
Asterioids PlanetSetting
}
type PlanetSetting struct {
MinDistanceHW uint32
MinSize float32
MaxSize float32
MinResource float32
MaxResource float32
Probability float32
}
func DefaultMapSetting() MapSetting {
return MapSetting{
Players: 25,
HWSize: 1000,
HWResources: 10,
HWMinDistance: 30,
DWCount: 2,
DWSize: 500,
DWResources: 10,
DWMinDistance: 5,
DWMaxDistance: 15,
GiantPlanets: PlanetSetting{
MinDistanceHW: 20,
MinSize: 1500,
MaxSize: 2500,
MinResource: 0,
MaxResource: 3,
Probability: 0.06,
},
BigPlanets: PlanetSetting{
MinDistanceHW: 10,
MinSize: 1000,
MaxSize: 2000,
MinResource: 1,
MaxResource: 10,
Probability: 0.18,
},
NormalPlanets: PlanetSetting{
MinDistanceHW: 0,
MinSize: 0.001,
MaxSize: 1000,
MinResource: 0,
MaxResource: 10,
Probability: 0.5,
},
RichPlanets: PlanetSetting{
MinDistanceHW: 0,
MinSize: 0.001,
MaxSize: 500,
MinResource: 5,
MaxResource: 25,
Probability: 0.18,
},
Asterioids: PlanetSetting{
MinDistanceHW: 0,
MinSize: 0.001,
MaxSize: 10,
MinResource: 0,
MaxResource: 0,
Probability: 0.08,
},
}
}