Scriptsprache->if
Übersicht

![]() |
cooloBetreff: Scriptsprache->if |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo alle miteinand,
Da ich ja begonen hab ein rpg zu machen(geht schon voran) habe ich mich dazu entschlossen eine Scriptsprache dazu zu entwickeln, Variabeln und so geht ja aber bei if komme ich ins stottern...wie macht man das? Hab da mal was von einem setepin Prinzip gehört, aber wie wende ich das an. Bitte kein Bespiel Code möchte selber draufkommen, brauch nur einen denkansatz. Danke schon im vorraus. |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du wirst dir die Zeile mit den Stringbefehlen zerlegen müssen. Ich weiß nicht, wie du es bis jetzt aufgebaut hast, aber dass du es zB in
Befehl="if" parameter1="Spielerx" parameter2="23" operator="=" trennst und dann einfach das irgendwie realisierst: Code: [AUSKLAPPEN] Select Befehl
Case "if" Select Operator Case "=" If parameter1=parameter2 Then ;TU WAS!^^ Endif End Select End Select mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde es so machen wie Eingeproggt es vorschlägt.
Nur musst du beachten, dass es verschiedene Schreibweisen geben kann (z.B. 'If variable1 = variable2 Then' oder 'If variable1=variable2 Then'). Also entweder die Form genau festlegen oder beim Einlesen den Code umwandeln (in diesem fall zum Beispiel die Leerzeichen rausstreichen). |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
- Zuletzt bearbeitet von Noobody am Mo, Dez 03, 2007 10:20, insgesamt einmal bearbeitet
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und was ist wenn es über mehrere Zeilen geht?
bsp: if dd=1 then ee=1 bb=1 eif |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich würde es auch so machen wie Eingeproggt schon geschrieben hat, die bedingung parsen und dann auswerten, wenn die bedingung wahr is wird der code bis zum endif oder bis zum else/elseif ausgeführt, wenn nicht dann wird er einfach übersprungen.
Ach und The_Nici: Es gibt keine Ifschleifen ![]() |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann musst du zuerst die Position des EndIfs (oder /eif, wie auch immer) ausfindig machen und im Raum zwischen If und EndIf die Befehle auslesen und interpretieren.
EDIT: Mist, ein paar Sekunden zu spät^^ |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
- Zuletzt bearbeitet von Noobody am So, Dez 02, 2007 21:38, insgesamt einmal bearbeitet
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah Danke, werde es versuchen in Tat umzusetzen. | ||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
ChaosCoder hat Folgendes geschrieben: Ach und The_Nici: Es gibt keine Ifschleifen ![]() Ich nenne alles eine Schleife, was Anfang und Ende hat. :> Jaah, es ist eine Bedingung. |
||
![]() |
ChaosCoder |
![]() Antworten mit Zitat ![]() |
---|---|---|
coolo ich shcätze du musst das ganze doch noch ein wenig anders machen als Eingeproggt beschrieben hat.
Besonders, wenn du planst auch komplexere Bedingungen einbauen zu können. Code: [AUSKLAPPEN] IF spielerx=sin(90+spielerr)*variable1 or blubb=3-1*spielerbluuub
fade=2 endif Hier brauchst du eine rekursive Funktion die die einzelnen variablen durch ihre werte ersetzt und dann die rechnungen ausrechnet, kp ob du sowas schonmal gemacht hast, im Codearchiv gibts den "Mathe-Parser", der sollte auch rekursiv sein, allerdings hab ich grad gesehen, dass er nicht so gut programmiert worden ist, naja soll dir ja auch nur einen ansatz liefern. |
||
Projekte: Geolaria | aNemy
Webseite: chaosspace.de |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mhmm, ich hätte nicht gedacht, dass das mit ifs so schwer ist... | ||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das kommt natürlich immer darauf an, was du machen willst.
Da ich denke, dass du sicher mehrere Variablen abfragen musst, würde ich zumindest verschachtelte If - Abfragen einbauen. Variablen müssen ja nicht unbedingt in der If - Abfrage berechnet werden - du könntest beim Überprüfen des Codes Berechnungen in der Bedingung vor die Abfrage stellen und diesen Wert zwischenspeichern und dann nur diesen abfragen. Aber If's werden dich noch eine Weile beschäftigen - so einfach hast du die nicht vom Tisch ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich werde, nach dem Prinzip vorgehen, wenn ich eine Funktion brauche füge ich sie einfach hinzu. Aber das Abfragen mit einem Parameter geht schon ![]() |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da habe ich nur ne Frage: bei for i=each appels wird immer das erste angelegte Type genommen gibts da auch die Möglichkeit die zuletzt erzeugen Types zu verwenden? | ||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gab grad vorher so einen Thread.
Before, After, First, After, bliblablu |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Soweit ich weiss nicht.
Entweder du setzt die neuen Types beim Erstellen an den Anfang (wie von The_Nici erwähnt, der Befehl Insert, Before und First sollten dir dabei helfen) oder du machst eine For - Schleife, die so lang ist wie es Typeeinträge gibt, die dann zuerst das hinterste Type nimmt und sich danach nach vorne arbeitet. Das wäre dann sowas wie Code: [AUSKLAPPEN] Um.Tiss = Last Tiss
For i = 0 To TypeEinträge - 1 TuWasMitDemType Um = Before Um Next |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group