# Manuale di &killbots;

## Introduzione

### Tipo di gioco:

Strategia

### Numero di giocatori:

Uno

&killbots; è un semplice gioco per evitare robot killer. Nessuno sa chi creò i robot e perché essi siano programmati per distruggere. Tutto quello che si sa è che i robot sono numerosi e il loro unico obiettivo è distruggerti.Fortunatamente per te, il loro creatore si è concentrato nella quantità piuttosto che nella qualità, e questo ha fatto sì che i robot siano assai scarsi in intelligenza. La tua intelligenza superiore e un fantasioso dispositivo di teletrasporto sono le tue uniche armi contro il flusso infinito di automi decerebrati.

### Nota:

Questa documentazione si riferisce spesso a robot, rottami, e via discorrendo, ma &killbots; è completamente personalizzabile nei temi. Ciò significa che i personaggi che vedi durante il gioco potrebbero non coincidere con i temi futuristici descritti qui. Il gioco e le strategie, comunque, rimangono gli stessi anche se il tuo eroe è una carota inseguita da famelici conigli in un pezzetto di giardino.

### Nota:

&killbots; supporta tipi di gioco multipli che controllano i parametri del gioco e determinano quali caratteristiche sono incluse. Questa documentazione cerca di essere generica e non specifica di un singolo tipo di gioco. Controlla la descrizione del tuo tipo di gioco corrente nella finestra di dialogo Configura - &killbots; per avere maggiori informazioni sui meccanismi del gioco in relazione alla dimensione della griglia, turni, punteggio, energia, &etc;

## Come giocare

### Elementi basilari di gioco

#### Obiettivo:

Sopravvivere a successivi turni di nemici accumulando punteggio.

Schermata della griglia di gioco

&killbots; è un gioco basato su turni, che si svolge su una griglia rettangolare. Il numero delle celle in ciascuna riga e colonna, all'interno della griglia, è determinata dal tipo di gioco usato. Ciascuna cella può contenere uno dei seguenti:

Eroe

- L'eroe è la sfortunata creatura gettata in una stanza in mezzo a un branco di robot killer. Come giocatore, il tuo compito è assicurare che egli rimanga vivo il più a lungo possibile.

  All'inizio di ciascun turno, l'eroe può eseguire tre tipi di azioni: stare fermo nel punto in cui si trova, spostarsi in una cella adiacente vuota o eseguire un'azione speciale. Vedi e .

Robot

- I robot sono criminali meccanici che desiderano solamente fare a pezzi l'eroe con le loro pinze metalliche. Non hanno mai sentito parlare delle Tre Leggi della Robotica e distruggerebbero probabilmente chiunque tentasse loro di spiegarle.

  Ciascun robot avanza di un singolo passo per turno verso l'eroe. Se il robot si trova sopra l'eroe, esso si sposterà in basso; se si trova alla sua sinistra, si sposterà a destra; se si trova in basso a destra, si sposterà diagonalmente in alto a sinistra. Se un robot dovesse raggiungere la cella dell'eroe, quest'ultimo verrebbe ucciso e la partita terminata.

Robot veloci

- I robot veloci sono una versione molto più rapida dei robot ordinari. Per ciascuna mossa dell'eroe essi compiono due passi. Fortunatamente, la loro rapidità non va di pari passo con l'intelligenza: essi spesso si autodistruggono due volte più rapidamente dei loro fratelli più lenti.

  Non tutti i tipi di gioco includono robot veloci.

Rottami

- Quando due o più nemici si scontrano, essi si distruggono e producono dei rottami. I nemici ignorano totalmente qualsiasi rottame sul loro cammino e vengono distrutti non appena vi entrano in collisione. Ti renderai conto che i rottami sono estremamente utili, dato che possono essere usati come barricate tra l'eroe e i suoi attaccanti.

  Alcuni schemi di gioco consentono all'eroe di spingere i rottami nella griglia. L'eroe può utilizzarli per costruire bunker di protezione su più lati. I rottami possono essere anche usati per attaccare in alcuni tipi di gioco. La spinta di un rottame su un nemico lo distrugge e produce un bonus.

### Turni, punteggio ed energia

Gli indicatori di stato della partita

#### Turni

La partita in &killbots; si divide in turni. Ciascun turno inizia con l'eroe nel mezzo della griglia e i nemici posizionati a caso intorno a lui. Il turno finisce quando tutti i nemici sono stati distrutti. Ogni qualvolta che un turno è completato, il numero di nemici aumenta. Il numero e il tipo di nemici aggiunti dipende dal tipo di gioco.

La griglia continuerà a riempirsi di nemici fino a quando accadono due cose: i nemici occupano più del 50 per cento delle celle oppure viene tentato un teletrasporto sicuro ma non vi sono celle sicure nella griglia. A questo punto il turno corrente viene abbandonato, il numero dei nemici riportato a quello usato nel primo turno.

#### Punteggio

Non esiste veramente la vittoria in &killbots;; l'eroe tenta di sopravvivere il più a lungo possibile, la deprimente realtà è che, alla fine, la sua fortuna sparirà. L'obiettivo in &killbots;, dunque, è accumulare il punteggio più alto possibile prima che accada l'inevitabile. I dieci punteggi più alti (insieme con il turno raggiunto) sono registrati nella finestra dei punteggi più alti.

I punti sono la ricompensa per la distruzione dei nemici. I robot veloci valgono in genere di più dei robot normali. Punti bonus possono essere guadagnati anche per i nemici distrutti durante lo spostamento di rottami o l'attesa di fine turno.

#### Energia

In aggiunta ai punti, l'eroe può anche recuperare energia durante l'avanzamento della partita. L'energia permette all'eroe di eseguire teletrasporti sicuri insieme con, o in alternativa, l'uso del vaporizzatore. A seconda del tipo di gioco, l'energia può essere attribuita per svariati motivi, incluso il completamento di un turno, la spinta di un rottame o la distruzione di nemici durante l'attesa di fine turno.

L'ammontare di energia che l'eroe può immagazzinare dipende dalla quantità massima determinata dal tipo di gioco. In alcuni tipi di gioco il massimo incrementa al completamento del turno. Il livello di energia è visibile solo se lo schema di gioco al momento utilizzato include energia e teletrasporti sicuri.

### Azioni speciali

In aggiunta al semplice spostamento da cella a cella, l'eroe ha a disposizione quattro azioni speciali.

#### Teletrasporto

L'eroe è riuscito in qualche modo a mettere le mani su un teletrasportatore personale. Sfortunatamente, se utilizzato senza una fonte di energia, esso non è molto affidabile. L'attivazione del teletrasporto fa sì che l'eroe venga trasportato in una cella selezionata a caso in qualsiasi punto della griglia. Non vi sono limiti al numero di teletrasporti che l'eroe può eseguire.

La cella di destinazione è sempre inoccupata, ma esiste la reale possibilità che essa sia adiacente a un robot infuriato. A causa del rischio inerente al teletrasporto, quest'ultimo dovrebbe essere riservato come ultima alternativa, quando non vi sono più mosse sicure disponibili.

#### Telestrasporto sicuro

Il teletrasportatore ha, in genere, una modalità operativa secondaria che trasporterà l'eroe su una cella selezionata casuale ma sicura. Il teletrasporto sicuro richiede però energia, e questa in genere è scarsa. Ovviamente, l'abilità di teletrasportarsi in modo sicuro nei momenti chiave può estendere enormemente l'aspettativa di vita dell'eroe.

Non tutti i tipi di gioco consentono il teletrasporto sicuro e la quantità di energia necessaria al teletrasporto varia da tipo a tipo.

#### Usare il vaporizzatore

Il terzo uso del dispositivo di teletrasporto non trasporta in realtà l'eroe in alcun modo. Questa modalità operativa, in qualche modo inusuale, teletrasporta tutti i robot delle celle adiacenti all'eroe. Nessuno sa dove sono trasportati esattamente i robot, ma sembra sufficientemente lontano affinché non possano disturbare di nuovo l'eroe. Dato che i robot spariscono nell'aria senza lasciare rottami, questa modalità è chiamata vaporizzatore e i nemici eliminati tramite vaporizzazione sono considerati uccisi ai fini del punteggio.

Come il teletrasporto sicuro, l'uso del vaporizzatore richiede energia. Non tutti i tipi di gioco includono il vaporizzatore e la quantità di energia richiesta per utilizzarlo varia tra i tipi di partita.

#### Attesa di fine turno

Può capitare ogni tanto che la griglia sia disposta in modo tale che tutti i robot possano essere distrutti senza che l'eroe debba muoversi. In tale situazione esiste l'opzione di attesa di fine turno.

##### Opportunità di attendere la fine del turno

Attendere la fine del turno significa che l'eroe blocca la sua posizione in un punto mentre i suoi nemici continuano il loro movimento regolare. Esso continua fino a che accade una delle due cose: i nemici distruggono se stessi e il turno finisce, o un nemico riesce a raggiungere l'eroe e la partita finisce. Una volta che l'attesa di fine turno è iniziata non può essere annullata, per cui bisogna essere certi che l'eroe sia realmente al sicuro.

Perché, dunque, una persona dovrebbe intraprendere un'azione che elimina l'opportunità di cambiare idea? Be', aggiunge un po' di colore e dramma alla fine di un turno ma, cosa più importante, esiste un bonus di ricompensa per ciascun nemico distrutto durante l'attesa della fine del turno. La dimensione e il tipo (punti o energia) del bonus è determinato dal tipo di gioco.

## Panoramica dell'interfaccia

### Controlli di movimento

Per controllare il proprio eroe, il giocatore può scegliere di usare la tastiera, il mouse o entrambi.

#### Controlli di movimento tramite tastiera

Esistono nove differenti azioni di spostamento: sinistra, destra, alto, basso, le quattro diagonali e lo stare fermo. Ciascuna di queste azioni può essere assegnata a due diversi tasti della tastiera. Per impostazione predefinita queste nove azioni sono assegnate ai nove tasti del tastierino numerico e un blocco di lettere tre per tre sulla sinistra di una tastiera di tipo QWERTY. Ovviamente, gli utenti che intendono utilizzare una diversa disposizione, o a cui manca il tastierino numerico, possono modificare le assegnazioni utilizzando la finestra di configurazione.

Anche ciascuno dei comandi speciali di spostamento (tipo il teletrasporto) può essere eseguito dalla tastiera. Vedi Sposta.

#### Controlli di spostamento tramite mouse

Il mouse (o qualsiasi altro dispositivo di puntamento) può essere utilizzato per navigare in modo più naturale e intuitivo. Quando il puntatore si sposta nell'area di gioco principale il cursore cambia aspetto per indicare la direzione del puntatore in relazione all'eroe. Ad esempio, lo spostamento del puntatore nello spazio sopra l'eroe modificherà il cursore in una freccia verso l'alto. Se il puntatore è posizionato immediatamente sopra l'eroe, il cursore non indica alcuna direzione.

Un clic col tasto sinistro del mouse farà sì che l'eroe si sposti di un passo nella direzione indicata (sempre che lo spostamento sia consentito). Per comodità, si possono assegnare azioni aggiuntive ai tasti centrale e destro nella finestra di dialogo Configura - &killbots;. Queste azioni includono quelle che si trovano in Sposta, così come l'opzione aggiuntiva: Passo ripetuto. L'esecuzione di un passo ripetuto permette all'eroe di spostarsi nella direzione indicata per vari turni consecutivi fino a quando non raggiunga un blocco o lo spostamento continuato sia pericoloso. Il passo ripetuto può essere anche bloccato facendo di nuovo clic durante lo svolgimento dello spostamento.

### Elementi del menu

&Ctrl;N Partita Nuova

- Inizia una nuova partita, eliminando qualsiasi partita correntemente in esecuzione.

&Ctrl;H Partita Mostra classifica

- Mostra la finestra di dialogo della classifica, contenente i punteggi precedenti.

&Ctrl;Q Partita Esci

- Esce da &killbots;.

R Sposta Teletrasporto

- Teletrasporta l'eroe in una cella casuale e vuota qualsiasi, all'interno del campo di gioco. Vedi .

T Sposta Teletrasporto sicuro

- Teletrasporta l'eroe in una cella casuale e vuota, protetta da attacchi per quel turno. Vedi .

&Space; Sposta Teletrasporto sicuro, se possibile

- Azione comoda. Teletrasporta l'eroe in modo sicuro se è presente sufficiente energia, in caso contrario lo trasporta in modo casuale.

F Sposta Vaporizzatore

- Distrugge tutti i robot nelle celle limitrofe all'eroe. Vedi .

V Sposta Attesa di fine turno

- Blocca l'eroe in un punto fino alla fine del turno. Vedi .

Impostazioni Configura &killbots;…

- Mostra la finestra di configurazione di &killbots;, in cui si possono regolare i parametri di gioco, scegliere un gruppo diverso di schema di gioco o modificare il tema.

In aggiunta, &killbots; contiene gli elementi di menu Impostazioni e Aiuto, comuni di &kde;, per ulteriori informazioni leggi le sezioni relative al menu Impostazioni e menu Aiuto dei Fondamentali di &kde;.

## Guida dello sviluppatore di &killbots;

Gli utenti possono personalizzare individualmente &killbots; in due modi principali: i temi e gli schemi di gioco.

### Creazione di temi di &killbots; personalizzati

Come la maggior parte degli altri giochi di &kde;, un tema di &killbots; consiste di tre file.

#### Il file desktop

Il file desktop segue la sintassi standard INI. Le coppie di valori chiave memorizzano l'informazione sul tema e puntano agli altri file inclusi nel tema. Il seguente esempio è preso dal tema predefinito.

##### Esempio di file desktop di tema

    [KGameTheme]
    Name=Tema di esempio
    Description=Tema d'esempio usato per dimostrare la creazione di un tema. Questo simula pirati.
    Author=Sig. Artista
    AuthorEmail=mrartista@esempio.com
    Type=SVG
    FileName=esempio.svg
    Preview=esempio.png

Il primo parametro contiene i metadati sul tema ed è chiaro abbastanza. Per i temi di &killbots;, il parametro `Type` deve essere sempre impostato a &SVG;. I due parametri finali contengono i nomi dei file degli altri due file dei temi. Anche se non strettamente necessario, è altamente raccomandato che, per ragioni di coerenza, tutti e tre i file condividano lo stesso nome del file di base.

#### Il file Anteprima

Il file di anteprima è un semplice file PNG contenente un'anteprima del tema. L'immagine di anteprima deve essere 240 per 140 pixel e dovrebbe assomigliare il più possibile nella disposizione al tema predefinito, poiché ciò facilita il confronto dei temi nel selettore dei temi.

#### Il file &SVG;

Il file &SVG; è un'immagine di grafica vettoriale scalabile che contiene i reali elementi grafici usati per creare il tema. Il file può essere in formato sia non compresso `.svg`, sia compresso `.svgz`. Ciascun elemento del gioco è identificato in modo univoco nel file &SVG;. Quando si crea un nuovo tema, è generalmente più semplice partire da un tema esistente e sostituire gli elementi uno per uno fino a quando il tema è completato. Il file &SVG; deve contenere i seguenti elementi.

`background`

- L'immagine mostrata dietro la griglia nell'area di gioco principale.

`status`

- L'area usata per visualizzare il turno corrente, il punteggio, il conteggio dei nemici e l'energia.

`textcolor`

- Questo elemento deve essere un rettangolo di un singolo colore. Il suo colore è usato per il testo nelle aree di stato.

`cell`

- Una cella singola della griglia.

`hero`

- Il personaggio controllato dal giocatore.

`enemy`

- Il nemico base.

`fastenemy`

- Il nemico più veloce.

`junkheap`

- I resti di una collisione tra nemici.

`cursor0`

- Puntatore che indica lo spostamento verso destra.

`cursor1`

- Puntatore che indica lo spostamento diagonale in alto a destra.

`cursor2`

- Puntatore che indica lo spostamento verso l'alto.

`cursor3`

- Puntatore che indica lo spostamento diagonale in alto a sinistra.

`cursor4`

- Puntatore che indica lo spostamento verso sinistra.

`cursor5`

- Puntatore che indica lo spostamento diagonale in basso a sinistra.

`cursor6`

- Puntatore che indica lo spostamento verso il basso.

`cursor7`

- Puntatore che indica lo spostamento in basso a destra.

`cursor8`

- Puntatore che indica lo stazionamento.

#### Installazione di temi personalizzati

Affinché &killbots; rilevi e utilizzi un nuovo tema, i file devono essere spostati nella cartella corretta. Per installare il tema solo per l'utente corrente, copia i file desktop, anteprima e &SVG; in `killbots/themes` nella cartella locale in ``qtpaths` `--paths GenericDataLocation`` . Affinché il tema sia condiviso da tutti, sposta i file in `killbots/themes` nella cartella di sistema (dal comando precedente verosimilmente `/usr/share` o simile). Nota che questa operazione richiederà probabilmente privilegi di amministrazione.

### Creazione di tipi di gioco personalizzati

#### Il file desktop dello schema di gioco

La creazione di nuovi tipi di gioco è incredibilmente semplice in &killbots;, specialmente se si parte da un file di schema preesistente. Gli schemi di gioco sono memorizzati in un singolo file desktop, mentre i parametri e i metadati sono memorizzati come coppie di valori chiave semplici.

##### Il tipo di gioco predefinito di &killbots;

    [KillbotsRuleset]
    Name=Killbots
    Name[it]=Killbots
    Author=Parker Coates
    AuthorContact=parker.coates@kdemail.net
    Description=<qt><p>The default Killbots game type.</p><p>Includes a medium size grid, safe teleports, fast enemies and pushable junkheaps.</p></qt>
    Description[it]=<qt><p>Tipo di gioco predefinito di Killbots.</p><p>Include una griglia media, teletrasporti sicuri, nemici rapidi e rottami spostabili.</p></qt>
    Rows=16
    Columns=16
    EnemiesAtGameStart=8.0
    EnemiesAddedEachRound=4.0
    FastEnemiesAtGameStart=-2.0
    FastEnemiesAddedEachRound=2.0
    EnergyEnabled=true
    EnergyAtGameStart=0
    EnergyAddedEachRound=0
    MaxEnergyAtGameStart=12.0
    MaxEnergyAddedEachRound=0.0
    SafeTeleportEnabled=true
    CostOfSafeTeleport=1
    VaporizerEnabled=false
    CostOfVaporizer=0
    PushableJunkheaps=Many
    SquaskKillsEnabled=true
    JunkheapsAtGameStart=0.0
    JunkheapsAddedEachRound=0.0
    PointsPerEnemyKilled=5
    PointsPerFastEnemyKilled=10
    WaitKillPointBonus=0
    WaitKillEnergyBonus=1
    SquashKillPointBonus=0
    SquashKillEnergyBonus=1

Nota che tutti i parametri di testo devono essere inseriti in Inglese (Stati Uniti). Come mostrato nell'esempio sopra, le traduzioni possono essere aggiunte al file desktop ripetendo e aggiungendo il codice della lingua tra parentesi quadre. Nota anche che può essere inserito testo formattato nel campo `Description` racchiudendo il valore in tag <qt>.

Un file di schema di gioco deve contenere tutti i parametri seguenti.

`Name`

- Il nome dello schema di gioco che apparirà nel selettore degli schemi e nella finestra della classifica.

`Author`

- Il creatore dello schema di gioco.

`AuthorContact`

- Le informazioni di contatto dell'autore. È in genere un indirizzo di posta elettronica.

`Description`

- Una descrizione dello schema di gioco. Questa offre una buona panoramica del tipo di gioco, ma non ha bisogno di elencare il valore di ciascun parametro, dato che questa informazione può essere visualizzata nella finestra di dialogo Dettagli.

`Rows`

- Il numero di righe nella griglia di gioco.

`Columns`

- Il numero di colonne nella griglia di gioco.

`EnemiesAtGameStart`

- Il numero di nemici regolari aggiunti alla griglia all'inizio del primo turno.

`EnemiesAddedEachRound`

- Il numero di nemici regolari supplementari aggiunti alla griglia all'inizio di ciascun turno.

`FastEnemiesAtGameStart`

- Il numero di nemici veloci aggiunti alla griglia all'inizio del primo turno.

`FastEnemiesAddedEachRound`

- Il numero di nemici veloci supplementari aggiunti alla griglia all'inizio di ciascun turno.

`EnergyEnabled`

- Se impostata su `falso` l'eroe sarà abilitato a guadagnare o spendere energia.

`EnergyAtGameStart`

- La quantità di energia assegnata all'eroe all'inizio del primo turno.

`EnergyAddedEachRound`

- La quantità di energia assegnata all'eroe all'inizio di ciascun turno.

`MaxEnergyAtGameStart`

- La capacità massima di energia dell'eroe all'inizio del primo turno.

`MaxEnergyAddedEachRound`

- La modifica della capacità massima di energia all'inizio di ciascun turno.

`SafeTeleportEnabled`

- Se impostato su `falso` l'azione di teletrasporto sicuro sarà disattivata.

`CostOfSafeTeleport`

- La quantità di energia consumata per il teletrasporto sicuro.

`VaporizerEnabled`

- Se impostato su `falso` l'azione del vaporizzatore sarà disattivata.

`CostOfVaporizer`

- La quantità di energia consumata per l'uso del vaporizzatore.

`PushableJunkheaps`

- Il numero di rottami che possono essere spostati con una singola spinta. I valori possibili sono `Nessuno`, `Uno` e `Molti`.

`SquaskKillsEnabled`

- Se vero, l'eroe può distruggere i nemici spingendo loro sopra i rottami.

`JunkheapsAtGameStart`

- Il numero di rottami posizionati sulla griglia all'inizio del primo turno.

`JunkheapsAddedEachRound`

- Il numero di rottami aggiuntivi posizionati sulla griglia all'inizio di ciascun turno.

`PointsPerEnemyKilled`

- Il numero di punti assegnati per la distruzione di un nemico regolare.

`PointsPerFastEnemyKilled`

- Il numero di punti assegnati per la distruzione di un nemico veloce.

`WaitKillPointBonus`

- Il numero di punti bonus assegnati per la distruzione di un nemico durante l'attesa di fine turno.

`WaitKillEnergyBonus`

- Il numero di unità di energia bonus assegnate per la distruzione di un nemico durante l'attesa di fine turno.

`SquashKillPointBonus`

- Il numero di punti bonus assegnati per la distruzione di un nemico con un rottame.

`SquashKillEnergyBonus`

- Il numero di unità di energia bonus assegnati per la distruzione di un nemico con un rottame.

#### Installazione di tipi di gioco personalizzati

Affinché &killbots; rilevi e utilizzi un nuovo tipo di gioco, il file dello schema di gioco deve essere spostato nella cartella corretta. Per installare il tipo di gioco solo per l'utente corrente, copia il file in `killbots/rulesets` nella cartella locale in ``qtpaths` `--paths GenericDataLocation`` . Per condividere il tipo di gioco con tutti gli utenti, sposta il file in `killbots/rulesets` nella cartella di sistema (dal comando precedente verosimilmente `/usr/share` o simile). Nota che saranno richiesti probabilmente privilegi di amministrazione.

## Riconoscimenti e licenza

&killbots;

Copyright del programma 2007–2009 Parker Coates parker.coates@kdemail.net

Copyright della documentazione © 2008–2009 Parker Coates parker.coates@kdemail.net

Valter Mura valtermura@gmail.com

&underFDL; &underGPL;
&documentation.index;