Seite 16 von 271 ErsteErste ... 61213141516171819202666116 ... LetzteLetzte
Ergebnis 226 bis 240 von 4063

Thema: Der Pythonthread

  1. #226
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.455
    Okay und nochmal für Laien?

    wie wird

    Code:
    CyInterface().addImmediateMessage(iNewOwner,false,15,CyTranslator().getText("TXT_KEY_BUILDING_FLAVIAN_GAMETXT",( pCity.getName(), PyHelpers.PyInfo.BuildingInfo(iUniqueBuilding).getDescription() , PyHelpers.PyInfo.BuildingInfo(iDefaultBuilding).getDescription() )),'',0,gc.getBuildingInfo(iUniqueBuilding).getButton(),ColorTypes(11),pCity.getX(),pCity.getY(),True,True)
    zu einer addMessage?
    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)

  2. #227
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Wahrscheinlich greift "addImmediateMessage" auf "addMessage" zu.
    Wo wird denn die "CyInterface" -Klasse definiert?

  3. #228
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Hier is das API.
    Richtig wäre CyInterface().addImmediateMessage("Bla",NONE).
    Bzw. das letzte wäre ein Sound, das würd' ich mal als optional ansehen.

    Bevor alpha civ was wegen CyInterface als ersten Paramter sagt: Das is irgendwie etwas komisch, die Klasse, mit der eine Funktion aufgerufen wird, zählt bei der Fehlermeldung irgendwie mit rein.
    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)


  4. #229
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von The_J Beitrag anzeigen
    Bevor alpha civ was wegen CyInterface als ersten Paramter sagt: Das is irgendwie etwas komisch, die Klasse, mit der eine Funktion aufgerufen wird, zählt bei der Fehlermeldung irgendwie mit rein.
    Jede Methode einer Klasse hat immer als erstes Argument eben diese Klasse, wenn man diese Methode aber verwenden will, muss die Klasse nicht mehr explizit angegeben werden; das wird bereits implizit erledigt.

  5. #230
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    ist das echt so?
    man, ich hab' im Studium echt nix gelernt .
    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)


  6. #231
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von The_J Beitrag anzeigen
    ist das echt so?
    man, ich hab' im Studium echt nix gelernt .
    Ja, ein Beispiel wie ich es meine:

    Code:
    class C(object):
        def __init__(self):
            self.x = 0
    
        def setx(self, value):
            self.x = value
    
    
    c = C()
    c.setx(3)
    Sowohl "__init__" als auch "setx" verlangen als ersten Parameter self (self steht für die Instanz) in der Signatur. Beim Aufruf aber von "setx" wird nur der Parameter value benötigt. self wird automatisch mitgeliefert durch die Schreibweise "c.setx(3)". self wäre hier dann "c".

  7. #232
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    das hab' ich so noch nie gesehen, allerdings hab' ich auch noch so gut wie gar nicht in c++ programmiert.
    In Delphi schreibt man Funktionsdefinitionen auch immer mit der aufrufenden Klasse davor, von daher hab' ich das da noch nie gemerkt.
    Ich glaub', in C# und Visual Basic is das auch so, bin mir aber nicht sicher .
    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. #233
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Das ist nicht C++ (was ich auch nicht kann), sondern Python.

  9. #234
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Ups, , stimmt, da sind gar keine Klammern.

    Hab' in civ-python auch schon 1-2 Funktionen selbst definiert, hab's dann halt immer so gemacht, ohne zu wissen, warum .
    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)


  10. #235
    Waddehaddedudeda Avatar von Cybah
    Registriert seit
    01.09.06
    Beiträge
    30.455
    VOID addMessage (PlayerType ePlayer, BOOL bForce, INT iLength, STRING szString, STRING szSound, InterfaceMessageType eType, STRING szIcon, ColorType eFlashColor, INT iFlashX, INT iFlashY, BOOL bShowOffScreenArrows, BOOL bShowOnScreenArrows)
    wer soll das bitte verstehen?
    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)

  11. #236
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Zitat Zitat von Cybah Beitrag anzeigen
    wer soll das bitte verstehen?
    So wird wohl die Funktion definiert. Die durch Kommata getrennten Wortpaare geben Parameter-Typ und Parameter-Namen an. Bei C muss man ja immer explizit angeben, welcher Typ eine Variable annimmt.

  12. #237
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Zitat Zitat von Cybah Beitrag anzeigen
    wer soll das bitte verstehen?
    Ja, für einen ungeübten ist das nicht so einfach zu verstehen.

    Du kriegst durch Kommata getrennt zuerst den Datentyp für jede Variable, und danach den Variablen-Namen.

    z.B. BOOL bForce bedeutet, dass es eine Boolean-Variable ist (True/False), die bForce heißt (was die macht, darfst du raten ).
    INT ist ne ganzzahlige Zahl, String ist Text, die restlichen Datentypen sind Civ-Datentypen, die teils auch nur Zahlen sind.
    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)


  13. #238
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Die Festlegung des Datentypes ist leider eben stark einschränkend. Gut, das es in Python nicht erforderlich ist.

  14. #239
    paranoider Irrer Avatar von The_J
    Registriert seit
    07.08.07
    Ort
    verrat ich nicht
    Beiträge
    13.297
    Das kann man durchaus unterschiedlich sehen.
    Hatt' mich bei nem Programm mal gewundert, warum es nicht gescheit rechnet.
    Hatte ner Variable den Wert eins zugewiesen, und dann rechnen lassen.
    Dummerweise wird 1 natürlich als INT interpretiert, was etwas dumm ist, wenn man ne Schleife hat, wo der Parameter float sein musste .
    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)


  15. #240
    Registrierter Benutzer Avatar von alpha civ
    Registriert seit
    22.07.06
    Beiträge
    16.757
    Muss man eben vor der Schleife den Parameter zu float konvertieren.

Seite 16 von 271 ErsteErste ... 61213141516171819202666116 ... LetzteLetzte

Berechtigungen

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