Seite 51 von 271 ErsteErste ... 4147484950515253545561101151 ... LetzteLetzte
Ergebnis 751 bis 765 von 4063

Thema: Der Pythonthread

  1. #751
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.028
    Ich habe deinen Vorschlag einmal umgesetzt. Der Test ergab aber leider, dass die Einheiten tatsächlich nicht an Land gesetzt werden.

  2. #752
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von Kathy Beitrag anzeigen
    Ich habe das Gefühl, dass diese Zeile nicht verstanden worden ist:
    Da hast du wohl recht .

    Probier' mal meine erste Version aus, evtl. tut sich da was.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  3. #753
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.028
    Welche meinst du? Die ohne jumpToNearestValidPlot?

  4. #754
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Ja, die Version mit den 2 zusätzlichen Schleifen und dem anderen Kram.
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  5. #755
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.028
    Es passiert das selbe wie vorher, nämlich nichts.

  6. #756
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.028
    Zitat Zitat von delnan Beitrag anzeigen
    Einrückung sieht korrekt aus. Aber wo ich schon dabei bin, mecker ich mal an was anderem rum (): Die () für calls ohne Leerzeichen an den Funktionsnamen, und Leerzeichen zwischen Operatoren (== und , und co.) und Operanden
    Und noch was: xrange(n,m) geht immer noch von n zu m-1 und nicht umgekehrt. Muss also iMaxPlotUnit-1, -1 sein, wie mir der Interpreter grade bestätigt hat.
    Was wollte Delnan uns eigentlich hiermit sagen? Könnte das irgendwie einen EInfluss auf den Verlauf von xrange haben? Im Moment stehen ja iMaxPlotUnit,0,-1 in den Klammern, laut dem, was er schreibt, ist das falsch.

  7. #757
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Sollte prinzipiell in dem Beispiel keinen Einfluss haben.
    Aber änder mal die 0 in der Schleife auf -1 um, man weiß ja nie.

    Prinzipiell seh' ich jetzt aber echt nix mehr .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  8. #758
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.028
    Doch, es macht einen Unterschied.

    Delnan hat im ersten Post gesagt, was nicht stimmt, und wir reden tagelang darüber.

  9. #759
    Registrierter Benutzer
    Registriert seit
    04.03.07
    Beiträge
    4.694
    Doch, J, das macht nen Unterschied. Leider nur nen subtilen, der aber wehtun kann... Vergleich mal
    Code:
    for i in range(5,0,-1) # oder range, ist egal, funktionieren beide gleich
        print i,
    mit
    Code:
    for i in xrange(4,-1,-1) # s.o.
        print i,
    Das erste gibt "5, 4, 3, 2, 1" aus, das zweite "4, 3, 2, 1, 0". Jetzt rate mal, welches besser ist, um nen Array mit 5 Elementen von hinten aufzurollen
    Da merkt man erst, was für ein Geschenk des Himmels Iteratoren sind... wenn Civ4 nur mehr davon hätte

  10. #760
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von delnan Beitrag anzeigen
    Das erste gibt "5, 4, 3, 2, 1" aus, das zweite "4, 3, 2, 1, 0". Jetzt rate mal, welches besser ist, um nen Array mit 5 Elementen von hinten aufzurollen
    Das kommt drauf an, wo der Array beginnt .
    Wenn ich das selbst definieren kann, fangen die bei mir intern auch meist mit 1 an, und nicht mit 0 (also ich red' jetzt nicht von Python).

    Abgesehen davon hab' ich ja auch bei 4 angefangen .

    Und inhaltlich macht's gar keinen Sinn, denn dann wäre die neue Einheit ja die, die als erstes auf dem Feld hätte auftauchen müssen .
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


  11. #761
    Registrierter Benutzer
    Registriert seit
    04.03.07
    Beiträge
    4.694
    Delphi/Pascal ist ne riesige Ausnahme Gut, und in Lua fangen Arrays bei 1 ab. Aber ansonsten kenne ich keine relevante Sprache, die Arrays nicht bei 0 anfangen lassen.
    Und da Arrays in Python und C++ von 0 bis len-1 gehen, gibt's nen feinen Fehler, wenn man von (inklusive) len runterzählt. Sollte zumindest. Wenn aus irgendwelchen kruden Umständen heraus keiner auftritt, dann wird die Eineheit mit Index 0 übersehen.

  12. #762
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Ich bin sowieso für for i in range (plot.getNumUnits())

  13. #763
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.455
    Hab nen Problem

    PHP-Code:
    pIndCity.setBuildingProduction(pBpIndCity.productionLeft()) 
    scheint Komplikationen zu geben, wenn gesklavt oder gekauft wird. dann übersteigt anscheinend die summe die restliche produktion und anstelle, dass die überschüssigen hämmer in das nächste projekt kommen, wird die produktion komplett zurückgesetzt. jemand ne idee?

    des rätsels bugfix: einfach vorher überprüfen ob productionleft > 1 ist. voila.
    Geändert von Cybah (29. Mai 2010 um 13:31 Uhr)
    Pucc's Lets Plays BASE 6.0: #1 #2 #3 #4 #5

    Download von BASE 6.4 [D]: HIER (klick mich!) (Stand: 08.07.2022)

  14. #764
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.028
    Wie kann ich ein Ergebnis abhängig von der Ära machen? Ich möchte gerne, dass man bei einer Goody-Hütte später keine Krieger mehr erhält, weil es mich doch sehr ärgert, im Lategame dami abgespeist zu werden. Also muss ich irgendwie sowas einstellen:
    PHP-Code:
    If Goody-Type GOODY_WARRIOR
        
    if ERA EAR_CLASSIC
             change Unit to Archer 
    (da orientiere ich mich an dem schon vorhandenen
    Die Frage ist nur, wie ich die Ära am besten aufrufen kann.

  15. #765
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    PHP-Code:
        def onGoodyReceived(selfargsList):
            
    'Goody received'
            
    iPlayerpPlotpUnitiGoodyType argsList
    ###new code
            
    if iGoodyType == gc.getInfoTypeForString("GOODY_WARRIOR"):        
                
    pPlayer gc.getPlayer(iPlayer)
                if 
    pPlayer.getCurrentEra () ==gc.getInfoTypeForString("ERA_CLASSICAL"):
                    
    iMaxPlotUnit pPlot.getNumUnits ()-1  
                    
    for i in xrange(iMaxPlotUnit,-1,-1):
                        
    pPlotUnit pPlot.getUnit(i)  
                        if 
    pPlotUnit.getUnitType ()==gc.getInfoTypeForString("UNIT_WARRIOR"):
                            
    pPlotUnit.kill(False,-1)
                            
    pPlayer.initUnit(gc.getInfoTypeForString("UNIT_ARCHER"),pPlot.getX(),pPlot.getY(),UnitAITypes.NO_UNITAI,DirectionTypes.DIRECTION_NORTH)
    ###new code end 
    Und mach' bloß die Fehlermeldungen an, ist wahrscheinlich nicht richtig eingerückt.

    Solltest du zu dem Zeitpunkt selbst mit einem Krieger in die Hütte laufen, wird evtl. dieser ersetzt statt des neuen, aber naja, wie hoch ist schon die Wahrscheinlichkeit ?
    Zum Download bereit: Civ4-Mod "Mars, jetzt!"


    "Frei sein heißt wählen können, wessen Sklave man sein will." (Jeanne Moreau, 1928 - )

    "Immer wenn man die Meinung der Mehrheit teilt, ist es Zeit, sich zu besinnen." (Mark Twain, 1835 - 1910)


Seite 51 von 271 ErsteErste ... 4147484950515253545561101151 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •