Keep your place in this quest

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

Tiniest Engine utilise un langage de script simple inspiré par Lua et Python.

Variables

Une variable est une boîte nommée qui stocke une valeur. Vous utilisez des variables pour mémoriser des informations et les réutiliser plus tard. Par exemple, un jeu peut stocker la santé du joueur, la vitesse de déplacement, le score ou l'inventaire actuel.

Utilisez var pour créer une nouvelle variable. Le nom va à gauche et la valeur à droite.

var name = "Player One"    // Chaîne
var health = 100           // Nombre (entier)
var speed = 2.5            // Nombre (flottant)
var isAlive = true         // Booléen
var inventory = []         // Liste vide
var nothing = null         // Valeur nulle (pas de valeur)

Commentaires

Les commentaires sont des notes pour les humains. Le moteur les ignore lors de l'exécution du jeu. Utilisez des commentaires pour expliquer ce que fait une section de code, laisser des rappels pour vous-même ou décrire temporairement une idée délicate.

// Ceci est un commentaire sur une seule ligne
var x = 10  // Commentaire à la fin de la ligne

Opérateurs

Les opérateurs sont des symboles ou des mots clés qui combinent des valeurs. Les opérateurs arithmétiques font des mathématiques, les opérateurs de comparaison posent des questions et les opérateurs logiques combinent des réponses vrai/faux.

La plupart de la logique de jeu est construite à partir de petites expressions comme "déplacer à gauche si la touche A est maintenue" ou "collecter une pièce si le joueur l'a touchée." Les opérateurs sont la façon dont vous écrivez ces expressions.

// Arithmétique
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

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

// Logique (utilisez les mots clés 'and' et 'or', pas && ou ||)
var both = true and false   // faux
var either = true or false  // vrai
var not = !true             // faux

Listes

Une liste stocke plusieurs valeurs dans une seule variable. Cela est utile lorsque vous avez de nombreuses choses du même type, comme des ennemis, des balles, des pièces, des points de contrôle ou des options de menu.

Utilisez des crochets pour créer des listes. [] crée une liste vide, et [1, 2, 3] crée une liste avec des valeurs de départ. Les indices de liste commencent à 0, donc le premier élément est items[0].

var items = []
items.add("sword")         // Ajouter à la fin de la liste
items.add("shield")
items.add(42)

var numbers = [10, 20, 30]
var first = items[0]       // "sword"
numbers[1] = 99            // Écraser par indice
var count = items.length() // 3

items.remove(0)            // Supprimer l'élément à l'indice 0
items.clear()              // Supprimer tous les éléments

Itérez à travers une liste avec une boucle d'indice :

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

Instructions If/Else

Une instruction if permet au jeu de choisir quoi faire. Si la condition est vraie, le premier bloc s'exécute. Si elle est fausse, le bloc else peut s'exécuter à la place.

C'est ainsi que les jeux réagissent à l'état : si la santé est nulle, afficher game over ; si une touche est pressée, sauter ; si le score est suffisamment élevé, débloquer le prochain niveau.

if (health <= 0) {
    print("Game Over")
} else if (health < 25) {
    print("Low Health!")
} else {
    print("Health OK")
}

Boucles

Les boucles répètent du code. Elles sont utiles lorsque vous souhaitez compter, traiter chaque élément dans une liste, générer plusieurs objets ou continuer à faire quelque chose tant qu'une condition reste vraie.

Utilisez une boucle while lorsque vous voulez répéter tant qu'une condition est vraie. Utilisez une boucle for lorsque vous savez que vous comptez à travers une plage ou que vous parcourez une liste par indice.

Boucle While :

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

Boucle For :

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

Instruction Break (sortir de la boucle plus tôt) :

for (var i = 0; i < 100; i = i + 1) {
    if (i == 5) {
        break  // Quitter la boucle lorsque i est 5
    }
    print(i)
}
// Imprime : 0, 1, 2, 3, 4

Instruction Continue (passer à l'itération suivante) :

for (var i = 0; i < 5; i = i + 1) {
    if (i == 2) {
        continue  // Ignorer l'impression lorsque i est 2
    }
    print(i)
}
// Imprime : 0, 1, 3, 4

Fonctions

Une fonction est un bloc de code réutilisable avec un nom. Vous appelez la fonction lorsque vous voulez que ce bloc s'exécute. Les fonctions aident à organiser votre script afin que vous ne copiiez pas les mêmes instructions partout.

Les fonctions peuvent recevoir des valeurs appelées paramètres. Elles peuvent également renvoyer une valeur avec return. Dans l'exemple ci-dessous, baseDamage et multiplier sont des paramètres, et la fonction renvoie le nombre de dégâts final.

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

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