> Tutorial LeekScript
Você certamente conhece a analogia entre variáveis de computador e caixas: O nome da variável está no rótulo da caixa; quando você chama a variável, você apenas olha o que está na caixa.
Bem, podemos fazer uma analogia semelhante entre pinturas e uma cômoda. Uma cómoda é um móvel que contém várias gavetas... uma mesa é uma entidade que contém várias variáveis. Esquematicamente, isso é tudo.
Uma matriz é representada por colchetes. O exemplo abaixo cria um array vazio:
var foo = [];
Reconhecemos a palavra-chave var que já usamos para variáveis. foo é, portanto, uma variável do tipo array.
var fruta = ["pêra", "banana", "maçã"];
Aqui inicializamos o array com 3 valores. Basicamente, colocamos a corrente "pêra" na primeira gaveta, "banana" na segunda e "maçã" na terceira. Se tivéssemos invertido as 2 primeiras frutas, teríamos um quadro diferente.
É gostoso de arrumar, mas tem que saber usar... Bem, é simples se você souber contar a partir de 0 (porque na computação gostamos de contar a partir do zero!)
A primeira gaveta tem o número 0, a segunda o número 1 e a terceira o número 2. Se tivéssemos uma mesa com 100 células, a última teria portanto o número 99. Ok, e agora? É simples, para usar uma caixa, basta indicar seu número entre colchetes:
debug(fruta[1]);
Este exemplo, portanto, exibirá a caixa número 1 (a segunda caixa, portanto) da tabela chamada frutas. Aqui, portanto, exibirá a string "banana".
E se quisermos alterar o valor? Nada poderia ser mais simples, fazemos como para as variáveis, especificando sempre a caixa a modificar:
fruta[1] = "cereja"; depurar(fruta); // produzirá ["pêra", "cereja", "maçã"]
Simples, certo?
E se eu pedir uma caixa que não existe? Tipo no exemplo anterior, peço fruta[3]?
Bem visto! A terceira caixa é a número 2, então a caixa número 3 não existe! Neste caso, o valor ''null'' é retornado.
Bem, eu tentei o seu código abaixo e mostra coisas estranhas, parece que quebrei tudo!
var fruta = ["pêra", "banana", "maçã"]; depurar(fruta); // produzirá ["pêra", "banana", "maçã"] fruta[3] = "abacaxi"; depurar(fruta); // produzirá ["pêra", "banana", "apple", "abacaxi"] fruta[50] = "cereja"; depurar(fruta); // produzirá [0:"pêra", 1:"banana", 2:"apple", 3:"abacaxi, 50:"cereja"]
Não se preocupe, jovem Padawan, você não quebrou nada! Como as caixas entre o último elemento da matriz (número 3) e aquele que você deseja adicionar (número 50) não existem, o leekscript transformou sua matriz em uma matriz associativa. Vou explicar isso para você no final deste tutorial. Por enquanto, considere que é uma mesa normal onde há um furo na numeração das caixas.
Algumas funções leekwars nos fornecem diretamente um array. Este é, por exemplo, o caso da função getAliveEnemies.
Tudo muito bem. Agora, eu sei como criar tabelas, mas como faço, por exemplo, exibir os nomes de todos oponentes? Não sei quantos são e não vou fazer tudo na mão!
Efetivamente. A primeira ideia seria fazer
var inimigos = getAliveEnemies(); debug( getNome(inimigos[0]) ); debug( getNome(inimigos[1]) ); debug( getNome(inimigos[2]) ); debug( getNome(inimigos[3]) ); debug( getNome(inimigos[4]) );
Mas se houver mais de 5 inimigos, haverá escassez e, se houver menos, há linhas extras! Para descobrir quantos quadrados um array tem, a função é count.
var nbEnemies = count(inimigos); debug("há " + nbEnemies + " inimigos ainda vivos.");
Agora, como atravessar a mesa sem esforço? Por exemplo, se você quer saber onde estão os obstáculos no mapa, getObstacles é para você... Mas a mesa tem cerca de cem caixas... não é prático fazer uma a uma! É agora que os Les Boucles revelam todo o seu potencial!
var obstáculos = getObstacles(); var nbObstacles = count(obstáculos);
for (var k=0; k<nbObstáculos; k++) { debug("caixa " + obstáculos[k] + " é um obstáculo."); }
Para mais precisão, volte ao tutorial em The Loops.
Então, para o nome dos inimigos, todo o script seria
var inimigos = getAliveEnemies(); var nbEnemies = count(inimigos); for (var k=0; k<nbInimigos; k++) { var nomeNome = getNome( inimigos[k] ); debug(nomedoinimigo + "ainda está vivo."); }
Já vimos como adicionar um elemento em um array mas não é prático porque você tem que fazer constantemente apelar para o tamanho da matriz.
Para facilitar a vida, você pode simplesmente usar a função push.
var fruta = ["pêra", "banana", "maçã"]; push(f
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.