Ergebnis 1 bis 18 von 18

Thema: Wofür braucht man...

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Users Awaiting Email Confirmation

    Wofür braucht man...

    Hi^^
    Hab mich lang nicht gemeldet und erstrecht nicht lang im Technik-Forum^^
    Mit Switches Variablen und Forks kenn ich mich jetzt aus^^
    Jetzt sehe ich aber erst den Begriff


    Da wollt ich fragen was deir einem nützt^^
    (PEINLICH)
    THX ~Riku11

  2. #2
    Loop = Schleife.
    Das heißt, alles was innerhalb der Loop steht wird solange wiederholt, bis ein Break-Loop-Befehl kommt. Üblicherweise (d.h., eigentlich immer^^) hat der Break-Loop-Befehl eine Bedingung, da die Schleife ja sonst relativ sinnlos wäre.

    z.B.:

    Code:
    <>Loop
     <>...diverse Befehle
     <>Fork Conditions: Variable XY>=5
       <>Break Loop
     <>End Case
    <>End Loop
    Hier würden die in der Loop stehenden Befehle immer wiederholt, bis die Variable XY den Wert 5 überschritten hat.

  3. #3
    Eigentlich wie ein parallel process. Alles was im Loop steht wiederholt sich. Nützlich, falls du z.B. am Anfang eines Events Bilder anzeigst und die sich dann auch ständig bewegen oder andersweitig verändern sollen, du aber keinen switch verschwenden willst, damit das auf der nächsten Seite abläuft.

  4. #4

    Users Awaiting Email Confirmation

    Thx ihr habt mir wirklich geholfen !
    NOCH NE FRAGE
    Gibt es irgendeinen befehl (außer Switch Variable Fork und Loop) über die ich was wissen sollte?

  5. #5
    am besten alle.

    Label z.B..

    Mit "Label" wird eine Stelle im Code markiert, mit "Jump to Label" wird zu einer markierten Stelle gesprungen.

  6. #6
    Zitat Zitat von Riku11 Beitrag anzeigen
    Gibt es irgendeinen befehl (außer Switch Variable Fork und Loop) über die ich was wissen sollte?
    Ja! Der Ganze Rest!
    Einfach aus dem Grund, das sie dir mehr Möglichkeiten bieten als wenn du nur die hälfte benutzt.

    Im E-Book sollte irgendwo ne Liste stehen wo alle Befehle erklärt werden.
    Die kann dir da weiterhelfen.

  7. #7
    Du kannst natürlich auch statt dem dem Ebook für jedes einzelne Befehl hier im Forum einen Thread öffnen. Das macht dich sicher voll beliebt

  8. #8

  9. #9
    Du solltest dabei jedoch beachten das du manche Befehle nicht brauchst, wenn du die damit zusammenhängenden Standardmakerfunktionen nicht nutzen willst. Damit sind z.B. das Standard KS, Shops, Inns gemeint.

  10. #10
    Wäre noch ugt wenn du noch weißt wie man Pictures einsetzt. Der Rest kommt irgentwann durchs ausprobieren, wie zB die Variabel ID's oder anderes.

  11. #11
    Zitat Zitat
    Gibt es irgendeinen befehl (außer Switch Variable Fork und Loop) über die ich was wissen sollte?
    Variablen als Referenzen zum Ändern von anderen nutzen. Also z.B. in der Variable 50 steht der Wert 20. Wird die Variable 50 als "Pointer" benutzt und 30 addiert, beträgt der Wert der Variable 20 nun 30, vorrausgesetzt, diese hatte vorher den Wert 0. Einfaches Prinzip, oder? Eignet sich recht toll für die verschiedensten Sachen und spart eine ganze Menge an Codewirrwarr. Beim 2k übrigens der Befehl unter den Variablen "Variable No.".

  12. #12

    Users Awaiting Email Confirmation

    Okay Das hab ich jez nicht ganz verstanden....bitte mal auf doofensprache für mich , e.hoff okay?

  13. #13
    Zitat Zitat
    Okay Das hab ich jez nicht ganz verstanden....bitte mal auf doofensprache für mich , e.hoff okay?
    Ich bin zwar nicht e.hoff...^^
    Wenn du in einem Change-Variable-Befehl statt "Variable" "Variable No." (heißt glaub ich so) auswählst, dann wird nicht die gewählte Variable, sondern die Variable, deren Nummer dem Wert der gewählten Variable entspricht, verändert.
    Zum Beispiel hat die Variable 1 den Wert 2. Wenn du jetzt beim Change-Variable-Befehl Variable 1 statt mit "Variable" mit "Variable No." anwählst, wird nicht Variable 1 verändert, sondern Variable 2 (denn in Variable 1 ist der Wert 2 gespeichert).

  14. #14
    Zitat Zitat von Riku11 Beitrag anzeigen
    Und was nützt einem das?
    Zitat Zitat von e.hoff Beitrag anzeigen
    Variablen als Referenzen zum Ändern von anderen nutzen. Also z.B. in der Variable 50 steht der Wert 20. Wird die Variable 50 als "Pointer" benutzt und 30 addiert, beträgt der Wert der Variable 20 nun 30, vorrausgesetzt, diese hatte vorher den Wert 0. Einfaches Prinzip, oder? Eignet sich recht toll für die verschiedensten Sachen und spart eine ganze Menge an Codewirrwarr. Beim 2k übrigens der Befehl unter den Variablen "Variable No.".
    maybe, anyone?

  15. #15
    Also ein Beispiel was man damit machen kann bzw. was man damit LEICHTER machen kann ist wenn du z.b. 200 Variabeln systematisch nach einen wert abfragen musst zb. ist unter diesen 200 variabeln der wert 543? du könnstet jetzt 200 forks machen und jede einzeln abfragen oder du bastelst dir einen kleinen algorythmus der durch dieses Pointerprinzip + einem loop alle 200 varis in vllt 5 oder 6 zeilen code macht. das erspart doch arbeit nicht?

  16. #16
    Zitat Zitat von R.D. Beitrag anzeigen
    maybe, anyone?
    R.D. es bringt ihm nicht sehr viel wenn du nochmal diesselbe Erklärung postest von der er schon sagte er versteht sie nicht.

    Versuchen wir es mal so:

    Stell dir vor du hast in deinem Spiel 8 Helden. Jeder von ihnen hat 4 Werte die zu ihm gehören. HP , maximale HP , MP und maximale MP. Das heisst also du hast ingesamt 32 Werte. Soweit, so gut.

    Nun stell dir vor du willst eine Schadensberechnung schreiben.
    Die sieht simpel so aus:

    Code:
    Held1_HP = Held1_HP - 100
    Sehr schön. Es wird also von der HP von Held1 die Zahl 100 abgezogen. Das ist nun die neue Helden HP. Nur...was ist wenn wir nun wollen das die HP von Held2 um 100 gesenkt wird, da das Monster ihn getroffen hat. Hm, nur wie das im Code umsetzen? Wohl so:

    Code:
    IF(HeldAuswahl == 1){
    Held1_HP = Held1_HP - 100
    }ELSE IF(HeldAuswahl == 2){
    Held2_HP = Held2_HP - 100
    ]ELSE IF(HeldAuswahl == 3){
    Held3_HP = Held3_HP - 100
    } [usw]
    Das ist nur der Code für 3 Helden. Damit das da klappen kann, müssen wir uns eine Variable schnappen. Die HeldAuswahl. Die Nummer die darin steht ist die Nummer des Heldens von dem wir die HP abziehen wollen. Das ist wie man sieht ziemlich umständlich. Stell dir vor allem mal vor man muss das mit 10 Helden machen. Und dann fehlt ja noch etwas was die MP abzieht wenn Zauber genutzt werden. Wie zuviel Aufwand.

    Und eben für diesen Zweck gibt es Pointer. Jede Variable hat eine eigene Adresse. Wie du jedes Haus eine eigene Hausnummer hat.
    Gehen wir also nun davon aus das die Variablen unserer Helden so liegen:

    Code:
    0001 - 0004: Variablen von Held1
    0005 - 0008: Variablen von Held2
    0009 - 0012: Variablen von Held3
    0013 - 0016: Variablen von Held4
    [usw]
    Die HP Variable der Helden liegt immer am Anfang ihrer Bereiches.
    Die HP Variable von Held1 liegt also auf Adresse 0001, die von Held2 auf 0005 usw.
    Gut. Nun wollen wir wieder die HP abziehen.
    Wir müssen uns die Adresse des Pointers errechnen. Das machen wir wie folgt:
    Code:
    Pointer = NummerDesHelden * AnzahlDerVariablen - (AnzahlDerVariable - 1)
    
    NummerDesHelden = Unsere Helden haben Nummern. Held1,Held2 usw.
    AnzahlDerVariablen = Wieviele Variablen der Held hat. In unserem Beispiel sind es 4 Stück.
    
    Beispielrechnung:
    NummerDesHelden = 1; // Der erste Held soll es sein
    AnzahlDerVariablen = 4; // Unsere Helden haben 4 Variablen
    
    Pointer = 1 * 4 - (4 - 1);
    Pointer = 1 * 4 - 3
    Pointer = 4 - 3
    Pointer = 1
    
    Richtig ! Auf Variable 1(dasselbe wie 0001) liegt die HP Variable von Held1.

    Also machen wir simpel:

    Code:
    HeldAuswahl = 1; //Hier drin steht die Nummer des Helden um den es uns geht
    //HeldAuswahl * 4 - 3 = unser Pointer
    HeldAuswahl = 4 * HeldAuswahl;
    HeldAuswahl = HeldAuswahl - 3;
    /* In HeldenAuswahl steht nut die "Adresse" der Variable, die wir verändern 
    wollen. Sprich der HP Variable von unserem Helden, dessen Nummer wir am Anfang in HeldenAuswahl reingeschrieben haben */
    
    [HeldenAuswahl] = [HeldenAuswahl] - 100; /* Hier greifen wir nun per Adresse
    auf die Heldenvariable zu, die wir manipulieren wollen. Heisst also die Zahl in der Variable HeldenAuswahl ist nun die Adresse , bei der wir etwas verändern wollen.*/
    Und ohne Erklärungen ist das:
    Code:
    HeldenAuswahl = 1;
    HeldAuswahl = 4 * HeldAuswahl;
    HeldAuswahl = HeldAuswahl - 3;
    [HeldenAuswahl] = [HeldenAuswahl] - 100;
    Wie du siehst, viel weniger als mit der Methode vorher. Und vorallem klappt das egal wieviele Helden man nun benutzen würde.

    Geändert von makenshi (20.01.2009 um 18:16 Uhr)

Berechtigungen

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