> Handledning
En lista används för att lagra flera värden i en specifik ordning.
Du kan skapa en lista med följande syntax:
Den första positionen i en lista är position 0. Du kommer åt ett specifikt element i listan med:
Många funktioner finns tillgängliga för att hantera listor, i "Listor"-delen av dokumentationen. De mest anmärkningsvärda är:
Du kan iterera över vart och ett av värdena i en lista med en enkel "för"-loop, så här:
Men det finns en variant av 'för'-loopen som gör det möjligt att iterera över vart och ett av värdena i en lista enklare, 'för i'-loopen. Följande kod motsvarar den föregående men är mer kortfattad:
Vår nuvarande AI har ett problem som du kanske har märkt: när fienden nästan är död kommer vår purjolök att använda sina förstärkningar, läker, sköldar innan de använder sitt vapen, medan den kan göra slut på fienden!
För att förbättra den här situationen i slutet av kampen kommer vi att uppskatta skadan som vi kan tillfoga fienden för att veta om vi kan avsluta den.
Vi börjar med att använda getWeaponEffects-funktionen som listar effekterna av ett vapen:
En effekt är i sig en lista som innehåller följande 6 element: [typ, min, max, svängar, mål, modifierare]. Den slutliga skadan för denna effekt beräknas:
Lägg till skadan till summan:
Vi avslutar med ett villkor: om den totala skadan är större än fiendens liv kommer vi att döda honom: vi attackerar! Annars väntar vi med punktpunkter:
> Tips: du kan komma åt ett intervall av en lista med syntaxen lista[2:8].
> Tips: du kan kapsla listor: lista i en lista [ [1, 2, 3] ] och tillgång till en lista i en lista: lista[0][0]
Vad är en lista till för?
Lagra flera värden Sortera värden Utför instruktioner parallellt Utför flera beräkningar
Vilka koder är giltiga?
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] ] lista[5][10]
``` purjolök // Vi tar pistolen om den inte är utrustad if (getWeapon() == null) { setWeapon(WEAPON_PISTOL) }
// Vi får den närmaste fienden var enemy = getNearestEnemy()
// Vi hälsar vår motståndare if (getTurn() == 1) { say("Hej " + getName(fiende) + "!") }
// Vi avancerar mot fienden flytta Mot (fiende)
var effects = getWeaponEffects() // lista över effekter var total = 0 // Vi räknar alla skador for (var effekt i effekter) {// iterera över alla effekter if (effekt[0] == EFFECT_DAMAGE) { // om effekten är skada var minDamage = effekt[1] // minsta vapenskada var BoostedDamage = minDamage * (1 + getStrength() / 100) // ökat med styrka var Finaldamage = Boosteddamage * (1 - getRelativeShield(fiende) / 100) - getAbsoluteShield(fiende) // reducerat med sköldar
Impossible de charger les données du jeu.
Vérifiez votre connexion et réessayez.