Scripting:Anfängerkurs

Aus STNE-Wiki

Wechseln zu: Navigation, Suche
fertige Scripte | Anleitungen und FAQ | Überblick über die Scripting-Sektion | Hilfen zum Arbeiten im Wiki

Hier wird in nächster Zeit ein Anfängerkurs für die STNE-Scriptengine entstehen. Wer mithelfen will oder bereits jetzt fragen hat kann sich vertrauensvoll an uns wenden, einfach im irc den channel #scripting joinen!

Inhaltsverzeichnis

Vorwort

Dieser Kurs richtet sich vor allem an diejenigen, die zuvor noch nie mit Programmierung zu tun hatten und trotzdem gerne Scripts für STNE schreiben würden. Die sollen hier auf möglichst einfache Weise einen Einstieg finden. Aber bitte erwartet keine Wunder, niemand der keine Ahnung vom Programieren hat, kann dies über Nacht lernen. Daher ist insbesondere eine Sache von enormer Wichtigkeit: Geduld – denn nur wer mit Geduld die Sachen angeht wird letzten Endes mit einem funktionieren Script belohnt. Wer die schnellen Erfolge sucht, der sollte es gleich lassen. Wir wünschen allen viel Spaß und gutes Gelingen.

Kapitel 1 - Strings

String? - Kann man das essen?

Nein, ein String (englisch) oder eine Zeichenkette, ist eine Folge von Zeichen (z.B. Buchstaben, Ziffern, Sonderzeichen, und Steuerzeichen) aus einem definierten Zeichensatz.

Nun wissen wir also, was dieser ominöse String überhaupt ist. Wenden wir uns nun zur Ausgabe von Strings!

Ausgabe von Strings

In diesem Kapitel werden wir uns der einfachen Ausgabe von Strings zuwenden. Um einen String auszugeben, müssen wir uns natürlich erst einmal überlegen was wir überhaupt ausgeben wollen. Nehmen wir als Beispiel einfach "Hallo!". Als Nächstes müssen wir wissen wie wir der Engine sagen, dass sie etwas ausgeben soll! Dies geschieht mit dem Befehl writeline();.

Hier ein kleines Beispiel:

writeline('Hallo!');

In den Klammern steht immer der String, der ausgegeben werden soll. Die einfachen Anführungszeichen sagen dem Befehl, dass das Nachfolgende ein String und keine Variable ist (Was eine Variable ist erfahren wir im nächsten Kapitel). Das Semikolon signalisiert der Engine, dass der Befehl hier endet, dies wird nicht bei jedem Befehl benötigt.

Wenn man sich mehrere Strings nach einander ausgeben möchte, ist es natürlich unsinnig, für jedes Wort einen neuen writeline(); Befehl auszuführen. Also kann man Strings an einander reihen. Hierzu setzt man einfach ein &-Zeichen zwischen die Strings. Natürlich kann man auch die jeweiligen Strings einfach, wie wir noch später lernen durch Variablen ersetzen.

writeline('Hallo!' & ' Wie geht es?');

Wichtig hierbei ist, dass das &-Zeichen kein Leerzeichen einfügt. Dies muss manuell innerhalb des Strings passieren.

Zusammenfassung: Strings

Kapitel 2 - Variablen

Da man nicht immer mit statischen Daten arbeiten kann benötigt man Variablen. Diese speichern Daten und geben sie auf Wunsch aus. Sie lassen sich auch belibig oft verändern. Um eine Variable zu erschaffen setzt man den Befehl var ein. nach var kommt dann der Variablen Name, dieser darf Zahlen und Buchstaben enthalten. Zahlen allerdings nur mit einer Ausnahme, sie dürfen nicht an erster Stelle stehen. optional danach kann ein as stehen (as, engl., als) dieses gibt an was für einen Inhalt die Variable hat, zb. str für string also eine Zeichenkette. Hier ein Beispiel:

var i1 as str

falsche wäre

var 1i as str

da die 1 vorne steht geht das nicht, warum wird sich später klären wenn wir zu if-schleifen kommen. Um einer Variable einen Inhalt zuzuordnen setzt man die Variable vor ein Gleichheitszeichen, dahinter kommt dann der Inhalt in unserem nächsten Beispiel ein String.

var test as str
test = 'Hallo!'

man kann das ganze auch in eine Zeile packen, das sieht dann wie folgt aus:

var test as str = 'Hallo!'

Auch hier sehen wir wieder die einfachen Anführungszeichen als Kennzeichen für einen String. Wir können Variablen aber auch andere Werte wie Integer oder Bolean zuweisen. Dazu einfach str durch den jewaligen Typ ersetzten.(Liste der Typen: klick mich)

Auch kann man die Variable "leeren" hirzu gibt man ihr einfach nichts mit, hier auch dazu ein Beispiel:

var test as str = 'Hallo!'
test = 

Anwendung von Variablen bei writeline

var test as str = 'Hallo!'
writeline( test & ' Wie gehts?');

Auch hier ist weider zu beachten das kein Leerzeiche eingefügt wird! Die Variable kann an jeder Stelle innerhalb der Klammern stehen, zu beachten ist nur das sie nicht innerhalb von Anführungszeichen steht sonst wird die Variable als String gewertet.

var test as str = 'Hallo!'
writeline(test);

Hier wird nun zum Beispiel nur eine Variable ausgegeben.

Kapitel 3 - Kontrollstrukturen

Da wir uns in Kapitel 2 mit Variablen beschäftigt haben, können wir uns nun dem eigentlichen Aufwand beim Programmieren zuwenden: den Kontrollstrukturen. Diese Wort klingt ersteinmal sehr hochtrabend, an und für sich ist es jedoch sehr einfach.

If - then - Else

Es werden einfach 2 Variablen miteinander verglichen und dann wird darauf reagiert.

VAR zahl1 AS Integer = 42;
if (zahl1 = 42)
{
  writeline('Zahl1 ist 42');
}
else
{
  writeline('Zahl1 ist nicht 42');
}

Dies ist ersteinmal sehr einfach und wirkt auf den ersten Blick sinnlos, was es auch ist. Aber es zeigt auf einfache Art, wie man 2 Werte miteinander vergleicht, dies kann man zum Beispiel dafür nutzen, um zu prüfen wieviel Lageraum ein Schiff noch hat. Dazu aber irgendwann später mehr. Bleiben wir bei dem Code und schauen ihn uns einmal genauer an: In der ersten Zeile wird die Variable zahl1 definiert, dies sollte aus Kapitel 2 bekannt sein.

If (zahl1 = 1)

Hier wird der vergleich durgeführt, in diesem Fall wir geschaut ob der Wert von Zahl1 42 ist. Man könnte an dieser Stelle genausogut prüfen ob der Wert größer oder kleiner ist, als ein anderer. Hierfür nutzt man dann nicht "=" sondern "<",">","<=",">=" Innerhalb der { } folgt dann der Code, welcher ausgehührt werden soll, wenn die Bedigung stimmt, also in diesem Fall, wenn zahl1 gleich 42 ist.

Das folgende "Else" mit den Klammern gibt, welche Aktionen ausgeführt werden sollen, wenn die Bedingung nicht stimmt.

Schleifen

For

while

Autoren

(hier dürfen sich diejenigen Verewigen die Hier min. ein Kapitel geschrieben haben[sonst kommt noch einer daher nur weil er nen rechtschreibfehler verbessert hat ;)])

Nickname IG-id Kapitel
WiZz4Rd 16475 Kapitel 1, Kapitel 2
Stryke 28885 Vorwort, Kapitel 3
Xenon 10127 Korrektur & Überarbeitung
Persönliche Werkzeuge