> Tutorial de LeekScript
Seguro que conoce la analogía entre las variables de computadora y las cajas: el nombre de la variable está en la etiqueta de la caja; cuando llamas a la variable, solo miras lo que hay en el cuadro.
Bueno, podemos hacer una analogía similar entre cuadros y una cómoda. Una cómoda es un mueble que contiene varios cajones... una mesa es un ente que contiene varias variables. Esquemáticamente, eso es todo.
Una matriz se representa mediante corchetes. El siguiente ejemplo crea una matriz vacía:
var foo = [];
Reconocemos la palabra clave var que ya usamos para variables. foo es, por lo tanto, una variable de tipo matriz.
var fruta = ["pera", "plátano", "manzana"];
Aquí hemos inicializado la matriz con 3 valores. Básicamente, ponemos la cadena "pera" en el primer cajón, "plátano" en el segundo y "manzana" en el tercero. Si hubiéramos invertido las 2 primeras frutas, habríamos tenido una imagen diferente.
Es bueno ordenar, pero hay que saber usarlo... Bueno, es simple si sabes contar desde 0 (¡porque en computación nos gusta contar desde cero!)
El primer cajón lleva el número 0, el segundo el número 1 y el tercero el número 2. Si tuviéramos una tabla con 100 celdas, el último llevaría por tanto el número 99. Está bien, ¿ahora qué? Es simple, para usar un recuadro, solo indica su número entre corchetes:
depurar (fruta [1]);
Por lo tanto, este ejemplo mostrará el cuadro número 1 (el segundo cuadro, por lo tanto) de la tabla llamada frutas. Aquí, por lo tanto, mostrará la cadena "banana".
¿Y si queremos cambiar el valor? Nada más sencillo, hacemos lo mismo que para las variables, especificando siempre la casilla a modificar:
fruta[1] = "cereza"; depurar (fruta); // generará ["pera", "cereza", "manzana"]
Sencillo, ¿verdad?
¿Qué pasa si pido una caja que no existe? Amable en el ejemplo anterior, pregunto fruit[3]?
Bien visto ! El tercer cuadro es el número 2, ¡así que el cuadro número 3 no existe! En este caso, se devuelve el valor ''null''.
Bueno, probé lo tuyo con el siguiente código y muestra cosas raras, ¡parece que lo rompí todo!
var fruta = ["pera", "plátano", "manzana"]; depurar (fruta); // generará ["pera", "plátano", "manzana"] fruta[3] = "piña"; depurar (fruta); // generará ["pera", "plátano", "manzana", "piña"] fruta[50] = "cereza"; depurar (fruta); // generará [0:"pera", 1:"plátano", 2:"manzana", 3:"piña, 50:"cereza"]
No te preocupes, joven padawan, ¡no has roto nada! Dado que las casillas entre el último elemento de la matriz (número 3) y el que desea agregar (número 50) no existen, el leekscript convirtió su matriz en una matriz asociativa. Te lo explicaré al final de este tutorial. Por el momento, considera que es una tabla normal donde hay un agujero en la numeración de las celdas.
Algunas funciones de Leekwars nos dan directamente una matriz. Este es por ejemplo el caso de la función getAliveEnemies.
Todo muy bien. Ahora, sé cómo crear tablas, pero ¿cómo puedo, por ejemplo, mostrar los nombres de todos oponentes? ¡No sé cuántos hay y no voy a hacer todo a mano!
Efectivamente. La primera idea sería hacer
var enemigos = getAliveEnemies(); depuración( getNombre(enemigos[0]) ); depuración (getName (enemigos [1])); depuración (getName (enemigos [2])); depuración( getNombre(enemigos[3]) ); depuración( getNombre(enemigos[4]) );
Pero si hay más de 5 enemigos, habrá escasez, y si hay menos, ¡hay líneas extra! Para saber cuántos cuadrados tiene un arreglo, la función es contar.
var nbEnemies = cuenta(enemigos); debug("hay " + nbEnemies + " enemigos vivos.");
Ahora, ¿cómo atravesar la mesa sin luchar? Por ejemplo, si quieres saber dónde están los obstáculos en el mapa, getObstacles es para ti... Pero la mesa tiene unas cien cajas... ¡no es práctico hacerlo uno por uno! ¡Es ahora cuando los Les Boucles revelan todo su potencial!
var obstáculos = getObstáculos(); var nbObstacles = cuenta(obstáculos);
for (var k=0; k<nbObstáculos; k++) { debug("caja " + obstaculos[k] + " es un obstaculo."); }
Para más precisión, vuelve al tutorial sobre The Loops.
Entonces, para el nombre de los enemigos, todo el guión sería
var enemigos = getAliveEnemies(); var nbEnemies = cuenta(enemigos); para (var k=0; k<nbEnemigos; k++) { var nombreEnemigo = getNombre( enemigos[k] ); debug( nombreEnemigo + " todavía está vivo."); }
Ya hemos visto cómo agregar un elemento en una matriz, pero no es práctico porque hay que hacerlo constantemente. apelar al tamaño de la matriz.
Para hacer la vida más fácil, simplemente puede usar la función push.
var fruta = ["pera", "plátano", "manzana"]; empujar
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.