> Tutorial
En liste bruges til at gemme flere værdier i en bestemt rækkefølge.
Du kan oprette en liste med følgende syntaks:
Den første position på en liste er position 0. Du får adgang til et bestemt element på listen med:
Mange funktioner er tilgængelige til håndtering af lister i "Lister"-delen af dokumentationen. De mest bemærkelsesværdige er:
Du kan iterere over hver af værdierne i en liste ved hjælp af en simpel 'for'-løkke, som denne:
Men der er en variant af 'for'-løkken, som gør det muligt at iterere over hver af værdierne på en liste mere enkelt, 'for in'-løkken. Følgende kode svarer til den forrige, men er mere kortfattet:
Vores nuværende AI har et problem, som du måske har lagt mærke til: Når fjenden næsten er død, vil vores porre bruge sine boosts, heler, skjolde, før de bruger sit våben, mens den kan gøre fjenden færdig!
For at forbedre denne situation i slutningen af kampen, vil vi vurdere den skade, vi kan påføre fjenden for at vide, om vi kan afslutte den.
Vi starter med at bruge getWeaponEffects-funktionen, som viser virkningerne af et våben:
En effekt er i sig selv en liste, der indeholder følgende 6 elementer: [type, min, max, drejninger, mål, modifikatorer]. Den endelige skade for denne effekt beregnes:
Læg skaden til totalen:
Vi slutter med en betingelse: hvis den samlede skade er større end fjendens liv, dræber vi ham: vi angriber! Ellers venter vi med punktopstillinger:
> Tip: Du kan få adgang til en række af en liste ved at bruge syntaksen liste[2:8].
> Tip: du kan indlejre lister: liste i en liste [ [1, 2, 3] ] og adgang til en liste på en liste: liste[0][0]
Hvad er en liste til?
Gem flere værdier Sortér værdier Udfør instruktioner parallelt Udfør flere beregninger
Hvilke koder er gyldige?
var a = [1, 2, 3] a[0] + a[2] var [a] = [1, 2] var[1, 2, 3] antal([1, 2, 3]) [ [1, 2], [3, 4], [5, 6] ] liste[5][10]
``` porreskrift // Vi tager pistolen, hvis den ikke er udstyret if (getWeapon() == null) { setWeapon(WEAPON_PISTOL) }
// Vi får den nærmeste fjende var enemy = getNearestEnemy()
// Vi hylder vores modstander if (getTurn() == 1) { sig("Hej " + getName(fjende) + "!") }
// Vi rykker frem mod fjenden bevæge sigMod (fjende)
var effects = getWeaponEffects() // liste over effekter var total = 0 // Vi vil tælle hele skaden for (var effekt i effekter) { // gentag over alle effekterne if (effekt[0] == EFFECT_DAMAGE) { // hvis effekten er skade var minDamage = effekt[1] // minimum våbenskade var BoostedDamage = minDamage * (1 + getStrength() / 100) // øget med styrke var Finaldamage = Boosteddamage * (1 - getRelativeShield(enmy) / 100) - getAbsoluteShield(enmy) // reduceret med skjolde
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.