> LeekScript
LeekScript 2 (anteriormente LeekScript 1.1) es la segunda versión de LeekScript, el lenguaje de Leek Wars, lanzado el 28 de febrero de 2021. Su objetivo es limpiar el lenguaje, hacer correcciones y agregar programación orientada a objetos.
Dado que se realizan profundas modificaciones en el funcionamiento del lenguaje, se trata de una versión sin retrocompatibilidad que el usuario activa manualmente en el editor.
La versión 2 es un paso hacia la futura versión anunciada en 2016. Por lo tanto, muchas características planificadas están presentes en la versión 2, lo que permite que el lenguaje avance gradualmente, siendo estas características muy beneficiosas para la codificación de IA compleja.
Una página de ayuda dedicada a la migración está disponible aquí: LeekScript 1 to 2 Migration.
Añadida programación orientada a objetos: clases y objetos. Consulte la página Clases y objetos para obtener toda la documentación sobre esta adición.
Las palabras clave nueva, clase, extiende, estática, pública, protegido, privado, implementos, interfaz, constructor, esto , super y instanceof están reservados para programación orientada a objetos y, por lo tanto, ya no están disponibles para nombres de variables o funciones.
Los valores no primitivos, es decir, las matrices y los objetos se pasan por referencia de forma predeterminada. Los valores primitivos (número, booleano, cadena) siempre se copian.
La sintaxis @ ya no se usa y, por lo tanto, está obsoleta en todas partes. No es posible en LeekScript 2 crear referencias a un valor primitivo.
Capacidad de agregar referencias en matrices (y objetos), lo que permite crear estructuras complejas y/o recursivas a un costo razonable.
Ejemplos de estructuras de datos difíciles de lograr en 1 y muy fáciles en 2:
Se agregó una función clonar (valor, [nivel]) para clonar un valor con precisión:
Varios errores semánticos devueltos en el editor en lugar de uno solo (también disponible en LS 1).


La pila de llamadas completa se muestra debajo de cada error, en lugar de solo una línea antes (también disponible en LS 1).

Pero siempre es posible usarlo, por supuesto. (también disponible en LS 1)
Se elimina el límite de tamaño de los arreglos, siendo suficiente el costo en operaciones para limitar su uso.
Se corrigió arrayFilter: la matriz se reindexa correctamente sin dejar valores nulos.
Se corrigió el escape de la cadena "\\" que muestra correctamente un solo \ en lugar de dos.
Arreglo en declaraciones globales a través de múltiples archivos.
Se corrigió que el operador ^= se convirtiera en el OR binario en lugar de la potencia.
La función de barajar tiene en cuenta el generador de números aleatorios conectado a la semilla de combate y, por lo tanto, es determinista para la misma semilla. Podría causar variaciones entre dos peleas generadas a partir de una misma semilla, lo que impacta en las pruebas.
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.