Zitat von
koma13
Wie hastn du hinbekommen, das es oben kälter ist und unten wärmer?
Ich versuche gerade das Inland sea - Skript dahingehend zu ändern und egal was ich bei top und bottom latitude setze, da kommt immer Mist bei raus.
Ist doch ganz einfach:
Du fragst einfach die X,Y-Koordinaten ab und schaust, ob die ober oder unter den Werten sind. Dazu musst du natürlich die Klasse "TerrainGenerator" erben.
Hier mal der offizielle Code den ich geändert habe:
PHP-Code:
def generateTerrainAtPlot(self,iX,iY):
lat = self.getLatitudeAtPlot(iX,iY)
if (self.map.plot(iX, iY).isWater()):
return self.map.plot(iX, iY).getTerrainType()
#edited by magic 24/03/09
val = self.terrain.getHeight(iX, iY)
if (0.3*self.iHeight > iY):
if val >= self.iGrassBottom:
if (0.65*self.iWidth < iX):
terrainVal = self.terrainAsche
else:
terrainVal = self.terrainDesert
else:
terrainVal = self.terrainPlains
else:
if val <= self.iGrassBottom:
terrainVal = self.terrainGrass
elif val >= self.iPlainsBottom:
terrainVal = self.terrainPlains
else:
terrainVal = self.terrainMarsh
if (0.8*self.iHeight < iY):
if val >= self.iGrassBottom:
terrainVal = self.terrainTundra
else:
terrainVal = self.terrainIce
if (terrainVal == TerrainTypes.NO_TERRAIN):
return self.map.plot(iX, iY).getTerrainType()
return terrainVal
iGrassBottom und iPlainsBottom sind in _init() definiert worden.