Domande frequenti

Domande frequenti

> Guida per principianti

Ecco le domande frequenti dei giocatori, se non riesci a trovare la tua, non esitare a farla nella Chat o nel Forum.

Come faccio a sparare tre volte con una pistola?

Ogni porro ha un certo numero di Punti di Turno PT (10 al livello 1, ma questo può cambiare), che determina il numero di azioni che puoi compiere durante il turno.

Quindi, sparare con una pistola costa 3 PT, quindi puoi farlo 3 volte in un turno spendendo 9 PT.

Per fare questo, spara più volte, basta solo PT, e scrivi l'istruzione che ti permette di sparare più volte, facendo ad esempio:

var nemico = getNearestEnemy()

useWeapon(nemico) useWeapon(nemico) useWeapon(nemico)

Puoi anche usare un loop (vedi: Loops).

Perché i porri che affronto hanno un livello più alto del mio?

Gli avversari sono proposti secondo il talento del porro. In ogni combattimento, un porro guadagna o perde talento a seconda dell'esito del combattimento. L'esito di un combattimento dipende dall'intelligenza artificiale di ciascun giocatore, dalle sue caratteristiche, nonché dalle sue armi e chip. Il talento riflette quindi le prestazioni di questo set contro altri giocatori.

Confrontarsi con porri di livello superiore è quindi piuttosto un buon segno. Ciò significa che la tua strategia (le tue scelte di equipaggiamento e statistiche, così come la tua IA) può compensare la differenza di livello, e quindi le statistiche.

Con le vittorie, il tuo porro acquisisce talento e quindi affronta avversari sempre più forti. Quando inizi a perdere, il suo talento aumenterà più lentamente o addirittura diminuirà. Hai quindi la garanzia di affrontare avversari il più equilibrati possibile a seconda dei giocatori a disposizione.

Inoltre, ci sono molti porri abbandonati a basso livello. Sono stati in grado di guadagnare livelli venendo attaccati senza che la loro intelligenza artificiale venisse migliorata o le loro caratteristiche aumentate. Questo ti aiuta a fornirti avversari che possono sembrare più forti.

Non preoccuparti, si calmerà con i livelli. E se continua ad alto livello, prendilo come un complimento!

Perché il mio porro sta esplodendo?

Questo accade quando un errore provoca l'arresto della tua IA. In questo caso, devi guardare il messaggio di errore visualizzato nel rapporto di combattimento. In genere, ciò accade quando è stato raggiunto un limite di gioco, come ad esempio il limite di operazioni.

Perché ricevo un messaggio di errore che dice "troppe operazioni eseguite in questo turno"?

In un'intelligenza artificiale, ogni chiamata di funzione, ogni uso variabile, costa operazioni.

Un porro può eseguire fino a 20 milioni di operazioni per giro.

Questo messaggio viene visualizzato quando questo limite viene superato. A basso livello, questo di solito accade quando nell'IA è presente un loop infinito.

Perché il mio porro non fa la stessa cosa nel test e nell'orto?

Quando fai un combattimento di prova, puoi scegliere l'IA che vuoi testare da un elenco situato appena sopra la selezione del porro di prova, e questa IA può essere diversa da quella usata dal porro nell'orto, che deve essere modificata sulla pagina del porro.

Come evocare un bulbo?

Il primo bulbo, la Puny Bulb (CHIP\_PUNY\_BULB), è disponibile al livello 48. L'IA del bulbo devono essere codificati in funzioni. Ad esempio, per fare in modo che il mio bulbo si sposti verso il suo evocatore e poi si attivi con Protein:

funzione punyAI() { moveToward(getSummoner()) useChip(CHIP_PROTEIN, getEntity()) }

Per richiamare il bulbo, non devi utilizzare la funzione useChip ma summon di come segue (per il nostro esempio):

// cella: la cella in cui vogliamo richiamare il bulbo summon(CHIP_PUNY_BULB, cella, punyAI)

Attenzione a non mettere "()" dopo il nome dell'AI della bulbo: è la funzione stessa che mettiamo come parametro, non il suo ipotetico ritorno. Maggiori dettagli sulla pagina Bulbs.

Come vengono assegnate le caratteristiche di un bulbo?

Le caratteristiche di un bulbo si calcolano in base al livello del porro che lo invoca. Il massimo viene raggiunto quando l'evocatore è di livello 300 (o superiore), e il minimo quando l'evocatore è di livello 1 (cosa impossibile nella pratica).

Tra i due livelli, le caratteristiche sono calcolate linearmente, utilizzando la seguente formula:

caratteristica = floor(min + (max - min) * min(300, livello convocatore) / 300)

Se il livello dell'evocatore è 301, le caratteristiche sono quelle di un evocatore di livello 300.

Come vengono attribuite le caratteristiche di un porro?

Spetta a voi spendere i vostri Punti di Capitale guadagnati salendo di livello nell'albero delle caratteristiche del vostro porro. (questo è un punto chiave nella progressione dei vostri porri)

Ulteriori dettagli sulla pagina Caratteristiche per distribuire i vostri Punti di Capitale.

Come accumulare più armi e chip?

Il vostro porro guadagna uno slot per i chip ai livelli 50/75/100/125/150/200/250/300 e uno slot per le armi ai livelli 100/200.

Ulteriori dettagli sulla pagina Chip e Armi.

Come allevare più porri?

Come indicato nella sezione "Il coltivatore" di /help/general (https://leekwars.com/help/general#farmer).

Successivamente potrete ottenere fino a 4 porri, secondo le seguenti condizioni:

Come individuare personalmente i propri errori?

Prima di chiedere aiuto sulla chat quando la vostra IA non si comporta come previsto, potete aggiungere al vostro codice dei debug() che vi permetteranno di capire cosa sta accadendo:

var enemy = getNearestEnemy() debug("Numéro de mon ennemi le plus proche= " + enemy)

Questo codice mostrerà nel rapporto di combattimento il contenuto della variabile "nemico" preceduto dalla stringa "Numero del mio nemico più vicino = ". Il debug() non costa Punti di Turno (PT), ma è consigliabile non abusarne troppo perché rende la lettura dei rapporti più difficile e perché il numero di debug() consentiti per combattimento non è infinito.

Un debug() può mostrare un array, ad esempio:

debug("Alliés vivants : " + getAliveAllies())

mostrerà un array nel rapporto con i numeri delle entità alleate vive. Tuttavia, quando si manipolano array di celle, è molto più pratico colorare direttamente le celle sulla mappa durante il combattimento utilizzando la funzione mark():

var maPosition = getCell() mark(maPosition + 17, COLOR_RED)

Questo codice colorerà di rosso la cella che si trova alla destra del vostro porro sulla mappa. Da notare: è possibile creare i propri colori con la funzione getColor(), potrete persino disegnare arcobaleni o la Monna Lisa!

Come conservare le variabili da un turno all'altro?

Basta utilizzare delle variabili globali, con la parola chiave global:

O in alternativa campi statici delle classi, con la parola chiave static: