> Opplæring
En liste brukes til å lagre flere verdier i en bestemt rekkefølge.
Du kan lage en liste med følgende syntaks:
Den første posisjonen i en liste er posisjon 0. Du får tilgang til et spesifikt element i listen med:
Mange funksjoner er tilgjengelige for håndtering av lister, i "Lister"-delen av dokumentasjonen. De mest bemerkelsesverdige er:
Du kan iterere over hver av verdiene i en liste ved å bruke en enkel 'for'-løkke, slik:
Men det er en variant av 'for'-løkken som gjør det mulig å iterere over hver av verdiene til en liste enklere, 'for i'-løkken. Følgende kode tilsvarer den forrige, men er mer kortfattet:
Vår nåværende AI har et problem som du kanskje har lagt merke til: når fienden nesten er død, vil purren vår bruke sine forsterkninger, helbreder, skjold før den bruker våpenet, mens den kan fullføre fienden!
For å forbedre denne situasjonen på slutten av kampen, vil vi anslå skaden vi kan påføre fienden for å vite om vi kan fullføre den.
Vi starter med å bruke funksjonen getWeaponEffects som viser effekten av et våpen:
En effekt er i seg selv en liste som inneholder følgende 6 elementer: [type, min, maks, svinger, mål, modifikatorer]. Den endelige skaden for denne effekten beregnes:
Legg til skaden til totalen:
Vi avslutter med en betingelse: hvis den totale skaden er større enn fiendens liv, vil vi drepe ham: vi angriper! Ellers venter vi med kulepunkter:
> Tips: du kan få tilgang til et utvalg av en liste ved å bruke syntaksen list[2:8].
> Tips: du kan neste lister: liste i en liste [ [1, 2, 3] ] og tilgang til en liste i en liste: liste[0][0]
Hva er en liste for?
Lagre flere verdier Sorter verdier Utfør instruksjoner parallelt Utfør flere beregninger
Hvilke koder er gyldige?
var a = [1, 2, 3] a[0] + a[2] var [a] = [1, 2] var[1, 2, 3] antall([1, 2, 3]) [ [1, 2], [3, 4], [5, 6] ] liste[5][10]
``` purreskrift // Vi tar pistolen hvis den ikke er utstyrt if (getWeapon() == null) { setWeapon(WEAPON_PISTOL) }
// Vi får den nærmeste fienden var enemy = getNearestEnemy()
// Vi hilser motstanderen vår if (getTurn() == 1) { si ("Hei " + getName(fiende) + "!") }
// Vi rykker mot fienden moveMoward (fiende)
var effects = getWeaponEffects() // liste over effekter var total = 0 // Vi teller all skade for (var effekt i effekter) {// iterer over alle effektene if (effekt[0] == EFFECT_DAMAGE) { // hvis effekten er skade var minDamage = effekt[1] // minimum våpenskade var BoostedDamage = minDamage * (1 + getStrength() / 100) // økt med styrke var Finaldamage = Boosteddamage * (1 - getRelativeShield(fiende) / 100) - getAbsoluteShield(fiende) // redusert med skjold
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.