Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
skript:funktionen [2015/08/18 20:16] 127.0.0.1 Externe Bearbeitung |
skript:funktionen [2017/01/09 14:22] (aktuell) milky-way [Parameter (Mehrzahl)] |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | = Funktionen = | + | ====== Funktionen |
| - | :Funktionen im Skript werden dazu benutzt um Abläufe zu automatisieren und eure Geschichte im Spiel zu gestalten. | + | Funktionen im Skript werden dazu benutzt um Abläufe zu automatisieren und eure Geschichte im Spiel zu gestalten. |
| - | :Sie können // | + | Sie können // |
| - | :Wenn der Zettel einmal aufgeschrieben wurde, kann er immer wieder abgearbeitet werden, indem sein [[Skript: | + | Wenn der Zettel einmal aufgeschrieben wurde, kann er immer wieder abgearbeitet werden, indem sein [[Skript: |
| - | == Definition == | + | ===== Definition ===== |
| - | < | + | <code>func typ Name ( |
| - | < | + | |
| - | < | + | |
| - | <style type=" | + | |
| - | span { | + | ) { |
| - | font-family: | + | |
| - | font-size: 12pt; | + | |
| - | color: #CCCCCC; | + | |
| - | } | + | |
| - | .sc0 { | + | |
| - | } | + | |
| - | .sc2 { | + | |
| - | font-style: | + | |
| - | color: #999999; | + | |
| - | } | + | };</code> |
| - | .sc4 { | + | |
| - | color: #CC9900; | + | |
| - | } | + | |
| - | .sc5 { | + | |
| - | font-weight: | + | |
| - | color: #CC9900; | + | |
| - | } | + | |
| - | .sc10 { | + | |
| - | font-weight: | + | |
| - | color: #0099CC; | + | |
| - | } | + | |
| - | .sc11 { | + | |
| - | } | + | |
| - | .sc12 { | + | |
| - | font-weight: | + | |
| - | color: #999999; | + | |
| - | } | + | |
| - | .sc13 { | + | |
| - | font-weight: | + | |
| - | color: #999999; | + | |
| - | } | + | |
| - | </ | + | |
| - | </ | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | == Erklärung == | + | |
| - | *hellgrau sind [[Skript: | + | |
| - | *gold und fett sind [[Skript: | + | |
| - | *dunkelgrau und kursiv sind [[Skript: | + | |
| - | *alle übrigen sind [[Skript: | + | |
| - | ||typ||Bezeichnet einen Werttyp.||int, float, string, void (kein Rückgabewert), | + | ^Code ^Beschreibung ^Möglicher Wert^ |
| - | ||KLASSEN_TYP||Bezeichnet einen Werttyp, der eine [[Skript: | + | |typ|Bezeichnet einen Werttyp.|int, |
| - | ||Name||Bezeichnet die Funktion. Ihr Name muss neu sein.||FunktionA, ABC_Funktion, | + | |KLASSEN_TYP|Bezeichnet einen Werttyp, der eine [[Skript: |
| - | ||ParameterA, | + | |Name|Bezeichnet die Funktion. Ihr Name muss neu sein.|FunktionA, |
| - | ||Questvariable||Bezeichnet eine globale Variable||siehe [[Skript: | + | |ParameterA, |
| - | ||||Konstante, Andere_Konstante||siehe [[Skript: | + | |Questvariable|Bezeichnet eine globale Variable|siehe [[Skript: |
| + | |Konstante, Andere_Konstante|Bezeichnet zwei globale Konstanten|siehe [[Skript: | ||
| - | :Welche Bedeutung die Anweisungen **Variablen**- bzw. **Eigenschaftenzuweisung** und **return** haben steht im Abschnitt [[Skript: | + | Welche Bedeutung die Anweisungen **Variablen**- bzw. **Eigenschaftenzuweisung** und **return** haben steht im Abschnitt [[Skript: |
| - | ==== Parameter (Mehrzahl) ==== | + | |
| - | : | + | |
| - | :Jedoch, glücklicherweise lassen sie sich mittels Parameter verallgemeinern, | + | |
| - | : | + | ===== Parameter (Mehrzahl) ===== |
| - | :Deine Mutter schreibt **einen** Zettel __func void Kind_Kauft_bei_Aldi(Kind,Produkt,Anzahl) {}; __ um jedes ihrer Kinder, mit dem Einkauf bei Aldi Süd eines beliebigen Produktes in beliebiger Anzahl zu beauftragen. | + | [[Skript:Funktionen|Zurück zum Aufgabenzettel]]. Es wurde gesagt, dass die Aufgabenzettel beliebig oft abgearbeitet werden können. Wenn allerdings sich das Abarbeiten nicht // |
| - | :Noch allgemeiner formuliert lautete ihr Zettel __func void Kind_Kauft_bei(Kind,Produkt,Anzahl, | + | Jedoch, glücklicherweise lassen sie sich mittels Parameter verallgemeinern, d.h. ein Zettel kann für mehr als eine Situation [[Skript: |
| - | ==== Funktionsaufruf ==== | + | **Beispiel** |
| - | :Jede Funktion kann aufgerufen werden. Das heißt, dass die Aufgaben auf dem Zettel abgearbeitet werden. | + | Deine Mutter schreibt **einen** Zettel '' |
| - | :Beim Aufruf schreibt man den Namen des Zettels bzw. der Funktion und in runden Klammern - mit oder ohne Leerzeichen - danach die zu // | + | Noch allgemeiner formuliert lautete ihr Zettel |
| - | :**Beispiel (fortgesetzt)** | + | ===== Funktionsaufruf ===== |
| - | :Deine Mutter schickt **dich** zum **Bioladen** um **zwölf** **Bioeier** | + | Jede Funktion kann aufgerufen werden. Das heißt, dass die Aufgaben auf dem Zettel abgearbeitet werden. |
| - | :Dabei ist natürlich wichtig, dass die Parameter in der richtigen Reihenfolge übergeben, d.h. aufgeschrieben werden. Außerdem müssem und können nur dann Parameter übergeben, wenn die [[Skript: | + | Beim Aufruf schreibt man den Namen des Zettels bzw. der Funktion und in runden Klammern - mit oder ohne Leerzeichen - danach die zu //übergebenden// Parameter getrennt durch Kommata |
| - | ==== Rückgabewert, | + | **Beispiel (fortgesetzt)** |
| - | :Manchmal möchte man eine //Antwort// über das // | + | Deine Mutter schickt **dich** zum **Bioladen** um **zwölf** **Bio-Eier** zu kaufen. Dazu ruft sie //ihren// Zettel auf: '' |
| + | Dabei ist natürlich wichtig, dass die Parameter | ||
| - | :**Beispiel (fortgesetzt)** | + | ===== Rückgabewert, |
| - | :Deine Mutter schreibt auf ihren Zettel, dass sie eine Zahl bzw. //int// als Antwort möchte. Die Zahl ist der Gesamteinkaufspreis in //Eurocent//. | + | Manchmal möchte man eine //Antwort// über das //Ergebnis// der Funktion erhalten. Dazu muss in der Funktionsdefinition der Antworttyp, Ergebnistyp oder Rückgabetyp festgelegt werden. Zulässig sind alle [[Skript:Daedalus|Typen]] oder '' |
| - | :__func int Kind_Kauft_Bei_Gesamtpreis(Kind,Produkt, | + | |
| - | :Es gehört zum guten Ton, dass die Mutter sich diese Antwort merkt. | + | |
| - | :__var int ausgegeben; | + | |
| - | : | + | |
| - | :In diesem Beispiel merkt sich deine Mutter, wieviel ihre Kinder insgesamt bisher ausgegeben haben, in dem sie zu dem was bisher ausgegeben wurde das hinzuzählt was zuletzt ausgegeben wurde. | + | |
| - | :Wenn die //Antwort// der Funktion mittels der Anweisung __return Wert_vom_Werttyp_typ;__ zurückgegeben wird, dann wird sofort | + | **Beispiel (fortgesetzt)** |
| + | Deine Mutter schreibt auf ihren Zettel, dass sie eine Zahl bzw. '' | ||
| + | < | ||
| + | Es gehört zum guten Ton, dass die Mutter sich diese Antwort merkt. | ||
| + | < | ||
| + | ausgegeben = ausgegeben + Kind_Kauft_Bei_Gesamtpreis(Du, | ||
| + | In diesem Beispiel merkt sich deine Mutter, wieviel ihre Kinder insgesamt bisher ausgegeben haben, in dem sie zu dem was bisher ausgegeben wurde das hinzuzählt was zuletzt ausgegeben wurde. | ||
| - | = Siehe auch = | + | Wenn die //Antwort// der Funktion mittels der Anweisung '' |
| - | :[[Skript: | + | |
| + | ===== Siehe auch ===== | ||
| + | [[Skript: | ||