Crea Juegos 2D con Tiniest2D
Fundamentos del Lenguaje de Scripting
Lesson 6 of 11 • 10 XP
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 utiliza un lenguaje de script simple inspirado en Lua y Python.
Variables
Una variable es una caja nombrada que almacena un valor. Utilizas variables para recordar información y reutilizarla más tarde. Por ejemplo, un juego podría almacenar la salud del jugador, la velocidad de movimiento, la puntuación o el inventario actual.
Usa var para crear una nueva variable. El nombre va a la izquierda, y el valor va a la derecha.
var name = "Jugador Uno" // String
var health = 100 // Número (entero)
var speed = 2.5 // Número (float)
var isAlive = true // Booleano
var inventory = [] // Lista vacía
var nothing = null // Valor nulo (sin valor)
Comentarios
Los comentarios son notas para humanos. El motor los ignora al ejecutar el juego. Usa comentarios para explicar qué hace una sección de código, dejar recordatorios para ti mismo, o describir temporalmente una idea complicada.
// Este es un comentario de una línea
var x = 10 // Comentario al final de la línea
Operadores
Los operadores son símbolos o palabras clave que combinan valores. Los operadores aritméticos hacen matemáticas, los operadores de comparación hacen preguntas, y los operadores lógicos combinan respuestas verdaderas/falsas.
La mayor parte de la lógica del juego se construye a partir de pequeñas expresiones como "moverse a la izquierda si se mantiene la tecla A" o "recoger una moneda si el jugador la toca." Los operadores son cómo escribes esas expresiones.
// Aritmética
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
// Comparación
var equal = (5 == 5) // true
var notEqual = (5 != 3) // true
var greater = (10 > 5) // true
var less = (3 < 7) // true
var greaterEq = (5 >= 5) // true
var lessEq = (3 <= 5) // true
// Lógicos (usa 'and' y 'or', no && o ||)
var both = true and false // false
var either = true or false // true
var not = !true // false
Listas
Una lista almacena múltiples valores en una variable. Esto es útil cuando tienes muchas cosas del mismo tipo, como enemigos, balas, monedas, puntos de control, o opciones de menú.
Usa corchetes para crear listas. [] crea una lista vacía, y [1, 2, 3] crea una lista con valores iniciales. Los índices de lista comienzan en 0, así que el primer elemento es items[0].
var items = []
items.add("espada") // Añadir al final de la lista
items.add("escudo")
items.add(42)
var numbers = [10, 20, 30]
var first = items[0] // "espada"
numbers[1] = 99 // Sobrescribir por índice
var count = items.length() // 3
items.remove(0) // Eliminar el elemento en el índice 0
items.clear() // Eliminar todos los elementos
Itera a través de una lista con un ciclo por índice:
for (var i = 0; i < items.length(); i = i + 1) {
print(items[i])
}
Sentencias If/Else
Una sentencia if permite que el juego elija qué hacer. Si la condición es verdadera, se ejecuta el primer bloque. Si es falsa, el bloque else puede ejecutarse en su lugar.
Así es como los juegos reaccionan a estados: si la salud es cero, mostrar "fin del juego"; si se presiona una tecla, saltar; si la puntuación es lo suficientemente alta, desbloquear el siguiente nivel.
if (health <= 0) {
print("Fin del juego")
} else if (health < 25) {
print("¡Salud baja!")
} else {
print("Salud OK")
}
Bucles
Los bucles repiten código. Son útiles cuando quieres contar, procesar cada elemento en una lista, generar varios objetos, o seguir haciendo algo mientras una condición permanezca verdadera.
Usa un bucle while cuando quieras repetir mientras una condición sea verdadera. Usa un bucle for cuando sabes que estás contando a través de un rango o recorriendo una lista por índice.
Bucle while:
var i = 0
while (i < 10) {
print(i)
i = i + 1
}
Bucle for:
for (var i = 0; i < 10; i = i + 1) {
print(i)
}
Sentencia break (salir del bucle antes):
for (var i = 0; i < 100; i = i + 1) {
if (i == 5) {
break // Salir del bucle cuando i es 5
}
print(i)
}
// Imprime: 0, 1, 2, 3, 4
Sentencia continue (saltarse a la siguiente iteración):
for (var i = 0; i < 5; i = i + 1) {
if (i == 2) {
continue // Omitir impresión cuando i es 2
}
print(i)
}
// Imprime: 0, 1, 3, 4
Funciones
Una función es un bloque de código reutilizable con un nombre. Llamas a la función cuando quieres que ese bloque se ejecute. Las funciones ayudan a mantener tu script organizado para que no copies las mismas instrucciones en todas partes.
Las funciones pueden recibir valores llamados parámetros. También pueden devolver un valor con return. En el ejemplo siguiente, baseDamage y multiplier son parámetros, y la función devuelve el número final de daño.
func calculateDamage(baseDamage, multiplier) {
return baseDamage * multiplier
}
var damage = calculateDamage(10, 1.5) // 15