Lite-C/Workshop1 02 Variabeln
| Grundlagenkurs | |
|---|---|
| Autor | Espér |
| Thematik | Lite-C |
| Vorraussetzungen | Programme: 3DGS Trial-Version Free Edition |
| Andere Teile | |
So, willkommen zu Teil 2 des kleinen Workshops. Dieses mal geht es um Variablen. Dieser Teil des Workshops nutzt die Sourcecodes aus Teil 1.
Inhaltsverzeichnis
Vorbereitung
Erstmal müsst ihr wissen, dass es 2 Arten von Variablen gibt. Lokale Variablen, welche nur für eine Funktion oder Aktion funktionieren. Und Globale Variablen, welche überall im Spiel verwendet werden können.
Lokale Variablen verwendet man für Dinge, die nur in einer Funktion selber gehandelt werden müssen. Beispielsweise ein Funktionsinterner Zähler oder eine Parametervariable.
Globale Variablen hingegen verwendet man für Dinge, auf die man im ganzen Spiel zugreifen will. Seien es die HP des Helden oder eine Uhr.
Variablen können einen Wert von -999999.999 bis +999999.999 besitzen.
Variablen (basis)
Lokale oder Globale Variablen. Beide lassen sich auf ein und dieselbe Weise erstellen.
var name = inhalt;
Eine Variable zu erstellen, benötigt immer den Vorreiter "var". Anschließend einen von euch gegebenen Name. Der Inhalt einer Variable kommt hinter das "=" Zeichen.
VARIABLEN KÖNNEN NUR ZAHLENWERTE ENTHALTEN, ODER ALS POINTER/HANDEL DIENEN
Heißt, dass ihr einer Variable keinen Text als Inhalt geben könnt.
Wollt ihr jetzt eine leere variable erstellen, welche ihr später vielleicht noch füllen wollt, so sollte das Semikolon ( ; ) direkt hinter dem Name stehen:
var name;Das wars schon.
Variablen (lokal)
Nehmen wir uns mal unseren Funktionen und Aktionencode her:
#include <acknex.h> #include <default.c> action testaktion() { } function test() { beep(); } function main() { video_mode = 6; level_load(NULL); wait(3); test(); }
Nun lasst uns eine Lokale Variable erstellen. dazu schreiben wir den Code zum erstellen einer Variable IN die Funktion.
#include <acknex.h> #include <default.c> action testaktion() [...] function test() { var testvariable = 1; beep(); } function main() [...]
Ich habe nun eine Variable mit dem Wert 1 erstellt, und sie "testvariable" genannt.
Ganz einfach oder?
Jetzt das wichtigste.
[...] function test() { var testvariable = 1; beep(); } function main() { video_mode = 6; level_load(NULL); wait(3); test(); testvariable = 3; }
Ich habe versucht hier die Testvariable in der Mainfunktion zu verändern. Dies ergibt allerdings den Fehler. grund: Die Testvariable ist nur ind er funktion "test" zu finden, und kann auch nur dort verändert werden. Es muss also so heißen:
[...] function test() { var testvariable = 1; beep(); testvariable = 3; } function main() { video_mode = 6; level_load(NULL); wait(3); test(); }
Ebenso ein kleiner Hinweis: Den Vorreiter "var" benötigt ihr nur beim erstellen der Variable. Zum Verändern ist er unnötig.
Variablen (lokale ausnahmen)
Es gibt noch einen Weg, eine lokale Variable auch nach beenden der Funktion noch am Leben zu erhalten ( den Wert behalten lassen ). Zum Vorreiter "var" muss noch ein weiterer Vorreiter "static" hinzugefügt werden.
static var name = wert;
Dies sagtd er Variable, dass sie trotz lokaler Kennung, als globale Variable behandelt werden soll. Allerdings hat dieser Weg bislang noch kaum Verwendung gefunden.
Variablen (global)
Jetzt mal das genaue Gegenstück zu den globalen Variablen.
Anderst als deren Geschwister, werden globale Variablen außerhalb einer Funktion erstellt. Meist nahe der Kopfzeile des Scripts. Beispiel:
#include <acknex.h> #include <default.c> var testvariable = 1; function test() { beep(); } function main() { video_mode = 6; level_load(NULL); wait(3); test(); }
Diesmal habe ich die variable außerhalb jeder Funktion/Aktion erstellt. Das bedeutet, dass ich sie von überall aus Steuern kann.
[...] var testvariable = 3; function test() { beep(); testvariable = 999; } function main() { video_mode = 6; level_load(NULL); wait(3); test(); testvariable = 3; }
FUNKTIONIERT PERFEKT
Variablen (Symbolik und Rechnen)
Hier mal eine Minitabelle der wichtigsten zeichen um variablen zu definieren ( # = Wert ):
= # weist einer variable einen Wert zu, oder setzt 2 Variablen auf den selben Wert += # Erhöht die Variable um einen bestimmten Wert, oder den Inhalt einer anderen Variable. -= # Verringert die Variable um einen bestimmten Wert, oder den Inhalt einer anderen Variable. ++ # Erhöht den Wert der variable um 1. -- # Verringert den Wert der variable um 1. *= # Multipliziert 2 Variablen. /= # Dividiert 2 Variablen. + # Addiert 2 Variablen in eine 3. Nur die 3. wird dabei verändert - # Substrahiert 2 Variablen in eine 3. Nur die 3. wird dabei verändert * # Multipliziert 2 Variablen in eine 3. Nur die 3. wird dabei verändert / # Dividiert 2 Variablen in eine 3. Nur die 3. wird dabei verändert
Boah, schon hätten wir es wieder. Workshop 2 fertig. Gönnt euch eine Pause und experimentiert etwas mit Variablen, Funktionen und Aktionen rum.