Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Nächste Überarbeitung | Vorherige Überarbeitung | ||
skript:funktionstypen [2015/08/18 22:16] 127.0.0.1 Externe Bearbeitung |
skript:funktionstypen [2017/01/09 15:01] (aktuell) milky-way [Bedingungsfunktionen] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | = Funktionstypen = | + | ====== Funktionstypen ====== |
- | :Wir unterscheiden [[Skript:Funktionstypen|allgemeine Funktionen]], [[Skript:Funktionstypen|Callbackfunktionen]], [[NPC:Zustaende]] und [[NPC:Zustaende|Schleifenfunktionen]], [[Skript:Funktionstypen|Bedingungsfunktionen]], [[NPC:Tagesablaeufe]] und [[Skript:Funktionstypen|externe Funktionen]]. | + | Wir unterscheiden [[Skript:Funktionstypen|allgemeine Funktionen]], [[Skript:Funktionstypen|Callbackfunktionen]], [[NPC:Zustaende]] und [[NPC:Zustaende|Schleifenfunktionen]], [[Skript:Funktionstypen|Bedingungsfunktionen]], [[NPC:Tagesablaeufe]] und [[Skript:Funktionstypen|externe Funktionen]]. |
- | == Allgemeine Funktionen == | + | ===== Allgemeine Funktionen ===== |
- | :Allgemeine Funktionen sind nicht reglementiert. Sie dürfen eine beliebige Anzahl [[Skript:Funktionen|Parameter]] und entweder einen oder keinen [[Skript:Funktionen|Rückgabewert]] haben. | + | Allgemeine Funktionen sind nicht reglementiert. Sie dürfen eine beliebige Anzahl [[Skript:Funktionen|Parameter]] und entweder einen oder keinen [[Skript:Funktionen|Rückgabewert]] haben. |
- | :Die meisten Funktionen sind keine allgemeinen Funktionen. Dennoch sind diese Funktionen sehr nützlich, weil sich mir ihrer Hilfe wiederkehrende Aufgaben flexibel bewältigen, erledigen lassen. | + | Die meisten Funktionen sind keine allgemeinen Funktionen. Dennoch sind diese Funktionen sehr nützlich, weil sich mir ihrer Hilfe wiederkehrende Aufgaben flexibel bewältigen, erledigen lassen. |
- | == Callbackfunktionen == | + | ===== Callbackfunktionen ===== |
- | :Callback ist englisch für //zurückrufen//. Was wird zurückgerufen? Die Ausführung bzw. die Abarbeitung einer Funktion wird [[Skript:Funktionen|wiederaufgerufen]]. Damit die [[Engine]] einen solchen Rückruf tätigen kann, darf eine Callbackfunktion keine Parameter annehmen, sonst schleichen sich in der Spielmechanik Fehler ein und es könnte zum Absturz des Spiels kommen. | + | Callback ist englisch für //zurückrufen//. Was wird zurückgerufen? Die Ausführung bzw. die Abarbeitung einer Funktion wird [[Skript:Funktionen|wiederaufgerufen]]. Damit die [[Engine]] einen solchen Rückruf tätigen kann, darf eine Callbackfunktion keine Parameter annehmen, sonst schleichen sich in der Spielmechanik Fehler ein und es könnte zum Absturz des Spiels kommen. |
- | :Eine Callbackfunktion hat keinen Rückgabewert und keine Parameter! | + | Eine Callbackfunktion hat keinen Rückgabewert und keine Parameter! |
- | :__func void Name_der_Callbackfunktion () { /* Funktionskörper */ }; __ | + | <code>func void Name_der_Callbackfunktion () |
+ | { | ||
+ | //Funktionskörper | ||
+ | };</code> | ||
- | == Bedingungsfunktionen == | + | ===== Bedingungsfunktionen ===== |
- | :Sie finden in der [[Klasse:C_INFO]] extensiv Verwendung mit der Eigenschaft //condition//. | + | Sie finden in der [[Klasse:C_INFO]] extensiv Verwendung mit der Eigenschaft //condition//. |
- | :Eine Bedingungsfunktion (engl. condition function) wird wie eine Callbackfunktion von der Engine aufgerufen und erwartet deshalb **keine** Parameter. | + | Eine Bedingungsfunktion (engl. condition function) wird wie eine Callbackfunktion von der Engine aufgerufen und erwartet deshalb **keine** Parameter. |
- | :Die Engine erwartet eine Antwort als Zahl auf die Frage sind Bedingungen erfüllt oder nicht. | + | Die Engine erwartet eine Antwort als Zahl auf die Frage sind Bedingungen erfüllt oder nicht. |
- | :Dies wird durch die ganze Zahl __0 (nicht erfüllt)__ im Allgemeinen ausgedrückt durch die [[Skript:Konstanten|Konstante]] __const int false = 0;__ oder eine ganze Zahl ungleich null __!0 (erfüllt)__ ausgedrückt durch die Konstante __const int true = 1;__ | + | Dies wird durch die ganze Zahl 0 (nicht erfüllt) im Allgemeinen ausgedrückt durch die [[Skript:Konstanten|Konstante]] <code>const int false = 0;</code> oder eine ganze Zahl ungleich null !0 (erfüllt) ausgedrückt durch die Konstante <code>const int true = 1;</code> |
- | :__func int Name_der_Bedingungsfunktion () { /* Funktionskörper */ return false; }; __ | + | <code>func int Name_der_Bedingungsfunktion () |
+ | { | ||
+ | //Funktionskörper | ||
+ | return false; // oder return true | ||
+ | };</code> | ||
- | == Externe Funktionen == | + | ===== Externe Funktionen ===== |
- | :Es sind alle Funktionen, die nicht in den Skripten definiert wurden, aber dennoch sozusagen extern oder vorab definiert wurden. Ihre Namen wurden bereits vergeben und können nicht verwendet werden. | + | Es sind alle Funktionen, die nicht in den Skripten definiert wurden, aber dennoch sozusagen extern oder vorab definiert wurden. Ihre Namen wurden bereits vergeben und können nicht verwendet werden. |
- | :In den Skripten lassen sie sich gut an ihren typischen Vorsilben Präfixen erkennen. | + | In den Skripten lassen sie sich gut an ihren typischen Vorsilben Präfixen erkennen. |
- | :Naturgemäß können sie nicht in Skripten definiert werden. | + | Naturgemäß können sie nicht in Skripten definiert werden. |
- | = Siehe auch = | + | ===== Siehe auch ===== |
- | :[[Skript:Funktionen]], [[Skript:Externe_Funktionen]] | + | [[Skript:Funktionen]], [[Skript:Externe_Funktionen]] |