> Tutoriel
Une liste permet de stocker plusieurs valeurs dans un ordre précis.
On peut créer une liste avec la syntaxe suivante :
La première position dans une liste est la position 0. On accède à un élément précis de la liste avec :
De nombreuses opérations sont disponibles pour manipuler les listes. Les plus notables sont :
for inOn peut itérer sur chacune des valeurs d'une liste en utilisant une boucle for avec range, comme ceci :
Mais il existe une manière plus simple d'itérer sur chacune des valeurs d'une liste, la boucle for in. Le code suivant est équivalent au précédent en étant plus concis :
Notre IA actuelle a un problème : quand l'ennemi est presque mort, notre poireau va utiliser ses boosts, soins et boucliers avant d'utiliser son arme, alors qu'il pouvait finir l'ennemi !
Pour améliorer cette situation de fin de combat, on va estimer les dégâts qu'on peut infliger à l'ennemi pour savoir si on peut le finir.
On commence par récupérer avec me.weapon.features la liste des caractéristiques de notre arme :
Chaque caractéristique possède des propriétés : .type (le type d'effet), .minValue (valeur minimale), .maxValue (valeur maximale)... On calcule les dégâts finaux quand la caractéristique est un dégât :
On ajoute les dégâts au total :
On termine par une condition : si le total des dégâts est supérieur à la vie de l'ennemi, on va le tuer : on attaque ! Sinon, on attend avec des puces :
> Astuce : on peut extraire une plage d'une liste avec liste[2:8].
> Astuce : on peut imbriquer les listes : une liste dans une liste [ [1, 2, 3] ], et accéder à une liste dans une liste : liste[0][0].
À quoi peut servir une liste ?
Stocker plusieurs valeurs Trier des valeurs Exécuter des instructions en parallèle Réaliser plusieurs calculs
Quels codes sont valides ?
a = [1, 2, 3] a[0] + a[2] [1, 2, 3] = a len([1, 2, 3]) [ [1, 2], [3, 4], [5, 6] ] liste[5][10]
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.