Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Die Tiniest Engine verwendet eine einfache Skriptsprache, die von Lua und Python inspiriert ist.

Variablen

Eine Variable ist eine benannte Box, die einen Wert speichert. Du verwendest Variablen, um Informationen zu speichern und später wieder zu verwenden. Zum Beispiel könnte ein Spiel die Gesundheit des Spielers, die Bewegungsgeschwindigkeit, den Punktestand oder das aktuelle Inventar speichern.

Verwende var, um eine neue Variable zu erstellen. Der Name steht links und der Wert rechts.

var name = "Spieler Eins"    // String
var health = 100              // Zahl (ganzzahlig)
var speed = 2.5               // Zahl (Gleitkomma)
var isAlive = true            // Boolean
var inventory = []            // Leere Liste
var nothing = null            // Nullwert (kein Wert)

Kommentare

Kommentare sind Notizen für Menschen. Die Engine ignoriert sie beim Ausführen des Spiels. Verwende Kommentare, um zu erklären, was ein Abschnitt von Code macht, um dir selbst Erinnerungen zu hinterlassen oder um vorübergehend eine knifflige Idee zu beschreiben.

// Das ist ein einzeiliger Kommentar
var x = 10  // Kommentar am Ende der Zeile

Operatoren

Operatoren sind Symbole oder Schlüsselwörter, die Werte kombinieren. Arithmetische Operatoren führen mathematische Berechnungen durch, Vergleichsoperatoren stellen Fragen, und logische Operatoren kombinieren wahr/falsch Antworten.

Die meisten Spiel-Logik wird aus kleinen Ausdrücken wie "bewege nach links, wenn die A-Taste gedrückt wird" oder "sammle eine Münze, wenn der Spieler sie berührt" erstellt. Operatoren sind, wie du diese Ausdrücke schreibst.

// Arithmetik
var sum = 5 + 3          // 8
var diff = 10 - 4        // 6
var product = 3 * 4      // 12
var quotient = 15 / 3    // 5
var remainder = 17 % 5   // 2

// Vergleich
var equal = (5 == 5)       // wahr
var notEqual = (5 != 3)    // wahr
var greater = (10 > 5)     // wahr
var less = (3 < 7)         // wahr
var greaterEq = (5 >= 5)   // wahr
var lessEq = (3 <= 5)      // wahr

// Logisch (verwende 'and' und 'or' Schlüsselwörter, nicht && oder ||)
var both = true and false   // falsch
var either = true or false  // wahr
var not = !true             // falsch

Listen

Eine Liste speichert mehrere Werte in einer Variable. Das ist nützlich, wenn du viele Dinge der gleichen Art hast, wie Feinde, Kugeln, Münzen, Kontrollpunkte oder Menüoptionen.

Verwende eckige Klammern, um Listen zu erstellen. [] erstellt eine leere Liste, und [1, 2, 3] erstellt eine Liste mit Anfangswerten. Listenindizes beginnen bei 0, sodass das erste Element items[0] ist.

var items = []
items.add("schwert")         // Hinzufügen ans Ende der Liste
items.add("schild")
items.add(42)

var numbers = [10, 20, 30]
var first = items[0]       // "schwert"
numbers[1] = 99            // Überschreiben nach Index
var count = items.length()  // 3

items.remove(0)            // Element an Index 0 entfernen
items.clear()              // Alle Elemente entfernen

Durchlaufe eine Liste mit einer Indexschleife:

for (var i = 0; i < items.length(); i = i + 1) {
    print(items[i])
}

If/Else-Anweisungen

Eine if-Anweisung lässt das Spiel wählen, was zu tun ist. Wenn die Bedingung wahr ist, wird der erste Block ausgeführt. Wenn sie falsch ist, kann stattdessen der else-Block ausgeführt werden.

So reagieren Spiele auf Zustände: Wenn die Gesundheit null ist, zeige Spiel vorbei; wenn eine Taste gedrückt wird, springe; wenn der Punktestand hoch genug ist, schalte die nächste Stufe frei.

if (health <= 0) {
    print("Spiel Vorbei")
} else if (health < 25) {
    print("Geringe Gesundheit!")
} else {
    print("Gesundheit OK")
}

Schleifen

Schleifen wiederholen Code. Sie sind nützlich, wenn du zählen, jedes Element in einer Liste verarbeiten, mehrere Objekte erzeugen oder etwas solange tun möchtest, bis eine Bedingung wahr bleibt.

Verwende eine while-Schleife, wenn du wiederholen möchtest, solange eine Bedingung wahr ist. Verwende eine for-Schleife, wenn du weißt, dass du über einen Bereich zählst oder durch eine Liste nach Index gehst.

While-Schleife:

var i = 0
while (i < 10) {
    print(i)
    i = i + 1
}

For-Schleife:

for (var i = 0; i < 10; i = i + 1) {
    print(i)
}

Break-Anweisung (frühzeitig aus der Schleife aussteigen):

for (var i = 0; i < 100; i = i + 1) {
    if (i == 5) {
        break  // Verlasse die Schleife, wenn i 5 ist
    }
    print(i)
}
// Gibt: 0, 1, 2, 3, 4 aus

Continue-Anweisung (nächste Iteration überspringen):

for (var i = 0; i < 5; i = i + 1) {
    if (i == 2) {
        continue  // Überspringe das Drucken, wenn i 2 ist
    }
    print(i)
}
// Gibt: 0, 1, 3, 4 aus

Funktionen

Eine Funktion ist ein wiederverwendbarer Codeblock mit einem Namen. Du rufst die Funktion auf, wenn du möchtest, dass dieser Block ausgeführt wird. Funktionen helfen, dein Skript organisiert zu halten, sodass du die gleichen Anweisungen nicht überall kopierst.

Funktionen können Werte erhalten, die Parameter genannt werden. Sie können auch einen Wert mit return zurückgeben. Im folgenden Beispiel sind baseDamage und multiplier Parameter, und die Funktion gibt die endgültige Schadenszahl zurück.

func calculateDamage(baseDamage, multiplier) {
    return baseDamage * multiplier
}

var damage = calculateDamage(10, 1.5)  // 15