> Tutoriel LeekScript
Tous les calculs effectués dans une ia nécessitent un certain temps pour pouvoir être exécutés par le serveur. Ce temps d'exécution est estimé par un nombre : le nombre d'opérations utilisées par ce calcul.
Une ia ne peut pas utiliser plus d'un certain nombre d'opérations en un tour (1 million par Coeur que possède votre poireau). Heureusement, le nombre d'opérations utilisées durant le tour actuel par une ia peut être obtenu grâce a la fonction getOperations, et le nombre d'opérations maximum avec la fonction getMaxOperations.
Les invocations d'un poireau sont soumises à la même limite que celle du tour de leur invocateur (si un poireau a 3 coeurs et son ia utilise 2 millions d'opérations à un tour donné, ses invocations pourront utiliser au maximum 1 million d'opérations).
Voici une liste (presque exhaustive) des coûts des différentes actions pouvant être faites dans une ia :
Code | Coût -----|------ var a; | 1 var a = value; | 1 array[index] = value; | 3 (push coûte 2) map[key] = value; | 4
Code | Coût -----|---- a | 0 fonction(params) | 1 + coût de la fonction array[index] | 1 map[key] | 2
Il faut bien sûr ajouter le coût de a et b à chaque fois.
Code | Coût -----|----- a = b | 1 a ++ | 1 a -- | 1 a + b | 1 a - b | 1 a * b | 2 a / b | 5 a \\ b | 5 a % b | 5 a ** b | 40 a += b | 1 a -= b | 1 a = b | 2 a /= b | 5 a \\= b | 5 a %= b | 5 a *= b | 40
Code | Coût -----|----- a == b | 1 a != b | 1 a > b | 1 a = b | 1 a > b | 1 a >>> b | 1 a >= b | 1 a <<= b | 1
Code | Coût -----|----- class object { ... } | 0 new object(params) | 1 + nombre de champs de la classe + coût du constructeur object.method(params) | 2 + coût de la méthode object.property | 1 (seulement si on est en dehors de la declaration de cet objet)
Code | Coût -----|----- if(a) | 1 (Plus coût de a) a ? b : c | 1 (Plus coût de a, b et c) while(0) | 0 do {} while(0); | 1
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.