Beispiel #1
0
 def __init__(self, parent, control="RANDOM"):
     self.parent = parent
     if (control == "LUNA"):
         self.initluna()
         return
     if (control == "PHOBOS"):
         self.initphobos()
         return
     if (control == "DEIMOS"):
         self.initdeimos()
         return
     if (control == "IO"):
         self.initio()
         return
     if (control == "EUROPA"):
         self.initeuropa()
         return
     if (control == "GANYMEDE"):
         self.initganymede()
         return
     if (control == "CALLISTO"):
         self.initcallisto()
         return
     if (control == "TITAN"):
         self.inittitan()
         return
     if (control == "TRITON"):
         self.inittriton()
         return
     if (control == "CHARON"):
         self.initcharon()
         return
     self.index = random.randint(
         0, 2147483647
     )  #I want these to be indicies but here I can assure they're unique which is a start
     self.resources = [
         random.randint(0, 255),
         random.randint(0, 255),
         random.randint(0, 255)
     ]
     self.size = random.lognormvariate(math.log(1.5), 0.3)
     self.culture = OnlineMarkov()
     for i in range(-1, int(self.size * 2 / 2)):
         cultureString = self.culture.randomString(int(self.size * 2 / 2))
         #print(cultureString)
         self.culture.contribute(cultureString)
     self.radius = random.lognormvariate(math.log(parent.size * 2), 0.125)
     #print(self.radius)
     self.inclination = random.normalvariate(0, 15)
     self.longitudeAscendingNode = random.uniform(0, 360)
     self.trueAnomaly = random.uniform(0, 360)
     self.period = Planet.getPeriodFromRadius(self.radius, self.parent.size)
     self.rotationMatrix = Planet.eulerAngles2Matrix(
         self.inclination, self.longitudeAscendingNode)
     self.position = self.getPosition()
Beispiel #2
0
 def initphobos(self):
     self.size = 2
     self.radius = 10
     self.resources = [64.0, 64.0, 64.0]
     self.culture = OnlineMarkov()
     for i in range(-1, int(self.size * 2 / 2)):
         cultureString = self.culture.randomString(int(self.size * 2 / 2))
         #print(cultureString)
         self.culture.contribute(cultureString)
     self.trueAnomaly = 151
     self.period = Planet.getPeriodFromRadius(self.radius, self.parent.size)
     self.inclination = 5
     self.longitudeAscendingNode = 110
     self.rotationMatrix = Planet.eulerAngles2Matrix(
         self.inclination, self.longitudeAscendingNode)
     self.position = self.getPosition()
Beispiel #3
0
 def initcallisto(self):
     self.resources = [
         random.randint(0, 255),
         random.randint(0, 255),
         random.randint(0, 255)
     ]
     self.size = 4
     self.culture = OnlineMarkov()
     for i in range(-1, int(self.size * 2 / 2)):
         cultureString = self.culture.randomString(int(self.size * 2 / 2))
         #print(cultureString)
         self.culture.contribute(cultureString)
     self.radius = 81
     #print(self.radius)
     self.inclination = random.normalvariate(0, 15)
     self.longitudeAscendingNode = random.uniform(0, 360)
     self.trueAnomaly = random.uniform(0, 360)
     self.period = Planet.getPeriodFromRadius(self.radius, self.parent.size)
     self.rotationMatrix = Planet.eulerAngles2Matrix(
         self.inclination, self.longitudeAscendingNode)
     self.position = self.getPosition()