Hi Ramk,
erst mal vielen Dank für die API und den Tip mit der CvMainInterface.py.
Ich bin jetzt an einer Stelle in meinem Projekt, wo ich scheinbar Python nicht verstehe.
warum geht Code 1, während Code 2 nicht geht? Code 3 geht aber wieder.
Code 1:
Code:
def onSaveGame(self, argsList):
"return the string to be saved - Must be a string"
datei = open('E:\\Cloud\\Onedrive\\Spiele\\Colonization IV (TAC)\\Python Collection\\test.txt', 'w')
pl = gc.getPlayer(0) # Erster Spieler
(city, iter) = pl.firstCity(False) # Erste Stadt, wenn Argument False, letzte Stadt wenn True
cNames = []
while city is not None:
position = "(%i,%i)" % (city.plot().getX(), city.plot().getY())
cNames.append("%-30s %s" % (city.getName().encode("utf-8"),position))
for iSpecial in range(gc.getNumSpecialBuildingInfos()):
BuildingPresent = False
for iBuilding in range(gc.getNumBuildingInfos()):
datei.write(city.getName().encode("utf-8"))
datei.write(" Building2: ")
datei.write("\r")
(city, iter) = pl.nextCity(iter, False)
datei.write("Close")
datei.close()
return ""
Code 2:
Code:
def onSaveGame(self, argsList):
"return the string to be saved - Must be a string"
datei = open('E:\\Cloud\\Onedrive\\Spiele\\Colonization IV (TAC)\\Python Collection\\test.txt', 'w')
pl = gc.getPlayer(0) # Erster Spieler
(city, iter) = pl.firstCity(False) # Erste Stadt, wenn Argument False, letzte Stadt wenn True
cNames = []
while city is not None:
position = "(%i,%i)" % (city.plot().getX(), city.plot().getY())
cNames.append("%-30s %s" % (city.getName().encode("utf-8"),position))
for iSpecial in range(gc.getNumSpecialBuildingInfos()):
BuildingPresent = False
for iBuilding in range(gc.getNumBuildingInfos()):
datei.write(city.getName().encode("utf-8"))
datei.write(" Building2: ")
if (city.isHasBuilding(iBuilding)):
if (gc.getBuildingInfo(iBuilding).getSpecialBuildingType() == iSpecial):
datei.write("\r")
(city, iter) = pl.nextCity(iter, False)
datei.write("Close")
datei.close()
return ""
Code 3
Code:
def onSaveGame(self, argsList):
"return the string to be saved - Must be a string"
datei = open('E:\\Cloud\\Onedrive\\Spiele\\Colonization IV (TAC)\\Python Collection\\test.txt', 'w')
pl = gc.getPlayer(0) # Erster Spieler
(city, iter) = pl.firstCity(False) # Erste Stadt, wenn Argument False, letzte Stadt wenn True
cNames = []
while city is not None:
position = "(%i,%i)" % (city.plot().getX(), city.plot().getY())
cNames.append("%-30s %s" % (city.getName().encode("utf-8"),position))
for iSpecial in range(gc.getNumSpecialBuildingInfos()):
BuildingPresent = False
for iBuilding in range(gc.getNumBuildingInfos()):
if (city.isHasBuilding(iBuilding)):
if (gc.getBuildingInfo(iBuilding).getSpecialBuildingType() == iSpecial):
datei.write(city.getName().encode("utf-8"))
datei.write(" Building2: ")
datei.write("\r")
(city, iter) = pl.nextCity(iter, False)
datei.write("Close")
datei.close()
return ""