# Handbok &killbots;

## Inledning

### Speltyp:

Strategi

### Antal spelare:

En

&killbots; är ett enkelt spel om att undkomma mördarrobotar. Vem som skapade robotarna och varför de har programmerats att förstöra, är det ingen som vet. Allt som är känt är att robotarna är talrika och deras enda målsättning är att förgöra dig. Tursamt nog för dig, har deras skapare fokuserat på kvantitet istället för kvalitet, med resultatet att robotarna är synnerligen ointelligenta. Ditt överlägsna förstånd och en avancerad teleportationsapparat är dina enda vapen mot den aldrig sinande strömmen av själlösa automater.

### Anteckningar:

Dokumentationen hänvisar ofta till robotar, skrothögar, etc., men &killbots; tema kan anpassas fullständigt. Det betyder att spelets figurer som du ser när du spelar inte måste motsvara de futuristiska som beskrivs här. Spelet och strategin förblir dock likadana, även om hjälten är en morot som jagas genom ett trädgårdsland av omättliga kaniner.

### Anteckningar:

&killbots; stöder flera speltyper som styr spelparametrarna och avgör vilka spelfunktioner som ingår. Den här dokumentationen försöker vara generell, och inte specifik för en viss speltyp. Kontrollera beskrivningen av nuvarande speltyp i dialogrutan Anpassa &killbots;, för mer detaljerad information om spelmekaniken med avseende på rutnätets storlek, omgångar, poängsättning, energi, etc.

## Hur man spelar

### Spelets grunder

#### Syfte:

Överlev på varandra följande omgångar med fiender medan poäng samlas in.

Skärmbild av spelplanen

&killbots; är ett omgångsbaserat spel, som spelas på ett rektangulärt rutnät av celler. Antal celler i varje rad och kolumn i rutnätet bestäms av vilken speltyp som används. Varje cell kan innehålla en av följande:

Hjälte

- Hjälten är den stackare som är fast i ett rum med en massa mördarrobotar. Som spelare, är det din uppgift att se till att han överlever så länge som möjligt.

  I början av varje omgång kan hjälten utföra en av tre olika saker: han kan stanna där han är, han kan gå till en tom intilliggande cell, eller han kan utföra en specialåtgärd. Se eller .

Robot

- Robotar är mekaniska gangstrar vars enda önskan är att krossa dig med sin kroppshydda av metall. De har aldrig hört talas om "Robotikens tre lagar", och skulle troligtvis krossa var och en som försökte förklara dem.

  Varje robot tar ett steg mot hjälten vid varje omgång. Om roboten är ovanför hjälten går den neråt. Om roboten är till vänster om hjälten, går den åt höger. Om roboten är nedanför och till höger om hjälten, går den diagonalt uppåt åt vänster. Skulle roboten lyckas hamna på samma cell som hjälten, dödas hjälten och spelet tar slut.

Snabbot

- En snabbot är en mycket snabbare version av den vanliga roboten. För varje steg som hjälten tar, tar de två steg. Som tur är kombinerades inte deras ökade rörlighet med ökad intelligens: de lyckas ofta bara förstöra sig själv dubbelt så snabbt som sina långsammare bröder.

  Snabbotar ingår inte i alla speltyper.

Skrothög

- När två eller flera robotar kolliderar, förstörs de, och spillrorna som skapas bildar en skrothög. Fiender ignorerar blint alla skrothögar i deras väg, och förstörs när de kraschar mot dem. Du kommer att märka att skrothögar är ytterst värdefulla, eftersom de kan fungera som barrikader mellan hjälten och hans angripare.

  Vissa speltyper tillåter att hjälten knuffar omkring skrothögar på rutnätet. Hjälten kan då använda skrothögarna för att skapa "bunkrar" som ger skydd på flera sidor. Skrothögar kan till och med användas offensivt i vissa speltyper. Att knuffa en skrothög över en fiende krossar den och kan till och med ge ett bonus.

### Omgångar, poäng och energi

Statusindikering inne i spelet

#### Omgångar

Spelet i &killbots; är uppdelat i omgångar. Varje omgång börjar med hjälten i mitten av rutnätet och med fiender slumpmässigt utplacerade runt omkring honom. Omgången slutar när alla fiender har förstörts. Allteftersom varje omgång avslutas, ökar antal fiender. Antal och typ av fiender som läggs till beror på speltypen.

Rutnätet fortsätter att fyllas med fiender till en av två saker inträffar: fiender upptar mer än 50 procent av cellerna, eller en säker teleportering försöker göras, men några säkra celler finns inte i rutnätet. Vid något av dessa tillfällen överges den pågående omgången, och fiendeantalet återställs till det som användes i den första omgången.

#### Poäng

Det finns i själva verket inget sätt att vinna &killbots;: hjälten försöker överleva så länge som möjligt, men den deprimerande verkligheten är att hans tur till sist kommer att ta slut. Därför är målet med &killbots; att samla så många poäng som möjligt innan det oundvikliga inträffar. De tio högsta poängen (tillsammans med uppnådd omgång) lagras i dialogrutan med poängtoppen.

Poäng tilldelas när fienders förstörs. Snabbotar är oftast värda mer än vanliga robotar. Bonuspoäng kan också tilldelas för fiender som förstörs vid väntan på omgångens slut.

#### Energi

Förutom poäng kan hjälten också samla energi under spelets gång. Energi låter hjälten utföra säker teleportering. Beroende på speltypen kan energi erhållas av diverse orsaker, inklusive att avsluta en omgång, knuffa en skrothög eller förstöra fiender vid väntan på omgångens slut.

Mängden energi som hjälten kan lagra begränsas till ett maximum bestämt av speltypen. Visningen av energistatus är bara synlig om den aktuella speltypen inkluderar energi och säker teleportering.

### Specialåtgärder

Förutom enkel förflyttning från cell till cell, har hjälten upp till fyra specialåtgärder till sitt förfogande.

#### Teleportera

Hjälten har på något sätt lyckats lägga beslag på en personlig teleporteringsutrustning. Tyvärr är den inte särskilt tillförlitlig när den används utan energikälla. Att aktivera teleportering gör att hjälten transporteras till en slumpmässigt vald cell var som helst på rutnätet. Det finns ingen gräns för antal teleporteringar som hjälten kan utföra.

Målcellen är garanterad att vara tom, men det finns en verklig möjlighet att den är intill en arg robot. På grund av den inneboende risken med teleportering, bör det normalt reserveras som en sista utväg, när det inte längre finns några säkra förflyttningar tillgängliga.

#### Teleportera säkert

Teleportering har ett alternativt arbetssätt som transporterar hjälten till en slumpmässigt vald, men säker, cell. Säker teleportering kräver dock energi, och energi är det oftast ont om. Uppenbarligen kan möjligheten att utföra säker teleportering vid kritiska tillfällen utöka hjältens livslängd.

Alla speltyper tillåter inte säker teleportering, och energimängden som krävs för att utföra säker teleportering varierar mellan speltyper.

#### Använda upplösningspistolen

Den tredje användningen av teleporteringsutrustningen teleporterar i själva verket inte hjälten alls. Detta något ovanliga arbetssätt teleporterar alla robotar i celler intill hjälten. Ingen vet exakt vart robotarna teleporteras, men det verkar vara nog långt bort så att de inte stör hjälten igen. Eftersom robotarna försvinner genom att lösas upp utan att lämna någon skrothög, har arbetssättet fått smeknamnet upplösningspistol, och fiender som avlägsnas via upplösning anses vara dödade vid poängräkningen.

Liksom att teleportera säkert, kräver användning av upplösningspistolen energi. Alla speltyper inkluderar inte upplösningspistolen, och energimängden som krävs för att använda den varierar mellan speltyper.

#### Vänta till omgångens slut

En tid kan komma då rutnätet är utlagt så att alla robotar kan förstöras utan att hjälten alls behöver röra sig. I en sådan situation har du valet att vänta till omgångens slut.

##### Ett tillfälle att vänta till omgångens slut

Att vänta till omgångens slut gör att hjälten fryser på plats medan fienderna fortsätter sina vanliga rörelser. Det fortsätter till en av två saker inträffar: fienderna förstör sig själva och omgången slutar, eller en fiende lyckas nå hjälten och spelet slutar. När kommandot att vänta till omgångens slut har givits, kan det inte avbrytas, så man måste verkligen vara säker på att hjälten är helt säker.

Varför skulle man göra något som tar bort möjligheten att ändra sig? Jo, det ger en viss elegans och dramatik i slutet av en omgång, men viktigare är att en bonus erhålles för varje fiende som förstörs vid väntan på omgångens slut. Bonusens storlek och typ (poäng eller energi) bestäms av speltypen.

## Översikt av gränssnittet

### Styrning av förflyttning

Spelaren har möjlighet att antingen använda tangentbordet, musen eller båda för att styra hjälten.

#### Styrning av förflyttning via tangentbordet

Det finns nio olika förflyttningsåtgärder: vänster, höger, upp, ner, de fyra diagonalerna och att stå still. Var och en av dessa åtgärder kan tilldelas till två olika tangenter på tangentbordet. Normalt tilldelas de nio åtgärderna till de nio nummertangenterna på det numeriska tangentbordet och en 3 gånger 3 ruta med bokstäver längst till vänster på ett QWERTY-tangentbord. Naturligtvis kan användare som har en annan tangentbordslayout eller en som saknar numeriskt tangentbord ändra de tilldelade tangenterna med dialogrutan för genvägar.

Vart och ett av de särskilda förflyttningskommandona (som att teleportera), kan också ges från tangentbordet. Se Flytta.

#### Styrning av förflyttning via musen

Musen (eller ett annat pekdon) kan användas för att navigera på ett mer naturligt och intuitivt sätt. När pekaren rör sig över spelets huvudområde, ändras markören för att ange pekarens relativa riktning i förhållande till hjälten. Genom att till exempel flytta pekaren till utrymmet ovanför hjälten ändrar markören till en uppåtpil. Om pekaren placeras omedelbart över hjälten, ändras markören för att ange ingen förflyttning.

Ett enstaka vänsterklick gör att hjälten går i angiven riktning (under förutsättning att ett sådant steg är tillåtet). Av bekvämlighetsskäl kan man tilldela ytterligare åtgärder till musens högerknapp och mittenknapp i Dialogrutan för att anpassa &killbots;. Åtgärderna omfattar de som finns i Flytta, samt ett ytterligare alternativ: Upprepade steg. Att utföra upprepade steg gör att hjälten går i angiven riktning under flera omgångar i följd, till ett hinder nås eller fortsatt rörelse skulle vara farlig. Man kan också stanna upprepade steg genom att klicka igen medan rörelsen pågår.

### Menyalternativ

&Ctrl;N Spel Ny

- Startar ett nytt spel, och avbryter ett eventuellt spel som nu pågår.

&Ctrl;H Spel Visa bästa resultat

- Visar dialogrutan med bästa resultat, som innehåller tidigare resultat.

&Ctrl;Q Spel Avsluta

- Avslutar &killbots;.

R Flytta Teleportera

- Teleporterar hjälten till en slumpmässig, tom cell var som helst på spelfältet. Se .

T Flytta Teleportera säkert

- Teleporterar hjälten till en slumpmässig, tom cell som garanteras vara säker från anfall denna omgången. Se .

Mellanslag Flytta Teleportera, säkert om möjligt

- Ett bekvämlighetsalternativ. Teleporterar hjälten säkert om tillräckligt med energi är tillgängligt, teleporterar annars bara slumpmässigt.

F Flytta Upplösningspistol

- Förstör alla robotar i celler intill hjälten. Se .

V Flytta Vänta till omgångens slut

- Gör att hjälten blir orörlig på sin plats till omgången är slut. Se .

Inställningar Anpassa &killbots;...

- Visar &killbots; inställningsdialogruta, där man kan justera spelparametrar, välja en annan uppsättning spelregler, eller ändra spelets tema.

Dessutom har &killbots; de vanliga menyalternativen Inställningar och Hjälp i &kde;. För mer information, läs avsnitten Menyn Inställningar och Menyn Hjälp i &kde;:s Grunder.

## Utvecklingsguide till &killbots;

Intresserade personer kan anpassa &killbots; på två huvudsakliga sätt: teman och regeluppsättningar.

### Skapa egna teman

Som för de flesta andra spel i KDE, består ett tema i &killbots; av tre filer.

#### Skrivbordsfilen

Skrivbordsfilen följer den vanliga INI-syntaxen, och används för att lagra information om temat och för att peka på andra filer. Det följande är ett exempel på ett tema.

##### Ett exempel på temaskrivbordsfil

    [KGameTheme]
    Name=Example Theme
    Name[sv]=Exempeltema
    Description=An example theme used to demonstrate theme creation. This one features pirates.
    Description[sv]=Ett exempeltema använt för att demonstrera hur teman skapas. Det här innehåller pirater.
    Author=Mr. Artist
    AuthorEmail=mrartist@example.com
    Type=SVG
    FileName=exempel.svg
    Preview=exempel.png

De fyra första parametrarna innehåller metadata om temat och är rättframma nog. För teman i &killbots; ska parametern `Type` alltid vara inställd till `SVG`. De sista två parametrarna innehåller filnamn på de andra två temafilerna. Även om det inte är helt nödvändigt, rekommenderas att alla tre filer delar samma basnamn, för att vara konsekvent.

#### Förhandsgranskningsfilen

Förhandsgranskningsfilen är helt enkelt en `PNG`-fil som innehåller en förhandsgranskning av temat. Förhandsgranskningen ska vara 240 gånger 140 bildpunkter och motsvara standardtemats layout så nära som möjligt, eftersom det gör det enklare att jämföra teman i temaväljaren.

#### SVG-filen

SVG-filen är en bild i skalbar vektorgrafik som innehåller själva de grafiska element som används för att skapa temat. Filen kan antingen ha okomprimerat `.svg` eller komprimerat `.svgz` format. Varje spelelement identifieras av en unik identifierare i SVG-filen. När ett nytt tema skapas, är det i allmänhet enklast att starta med ett befintligt tema och ersätta elementen ett i taget till temat är fullständigt. SVG-filen måste innehålla följande element.

`background`

- Bilden som visas bakom rutnätet i spelets huvudområde.

`status`

- Rutan som används för att visa aktuell omgång, poäng, antal fiender och energi.

`textcolor`

- Elementet ska vara en rektangel med en enda färg. Dess färg används för texten i statusrutorna.

`cell`

- En individuell cell i rutnätet.

`hero`

- Personen som styrs av spelaren.

`enemy`

- Den vanliga fienden.

`fastenemy`

- Den snabbare fienden.

`junkheap`

- Återstoden av en kollision mellan fiender.

`cursor0`

- En markör som anger förflyttning åt höger.

`cursor1`

- En markör som anger diagonal förflyttning uppåt och åt höger.

`cursor2`

- En markör som anger förflyttning uppåt.

`cursor3`

- En markör som anger diagonal förflyttning uppåt och åt vänster.

`cursor4`

- En markör som anger förflyttning åt vänster.

`cursor5`

- En markör som anger diagonal förflyttning neråt och åt vänster.

`cursor6`

- En markör som anger förflyttning neråt.

`cursor7`

- En markör som anger diagonal förflyttning neråt och åt höger.

`cursor8`

- En markör som anger att förbli stillastående.

#### Installera egna teman

För att &killbots; ska detektera och använda ett nytt tema måste filerna flyttas till en lämplig katalog. För att bara installera temat för nuvarande användare, kopiera skrivbordsfilen, förhandsgranskningen och SVG-filen till `killbots/themes` i den lokala katalogen ``qtpaths` `--paths GenericDataLocation`` . För att göra regeluppsättningen tillgänglig i hela systemet, flytta filen till `killbots/themes` i systemkatalogen ``qtpaths` `--paths GenericDataLocation`` . Observera att det troligen kräver administratörsrättigheter.

### Skapa egna speltyper

#### Skrivbordsfilen

Att skapa nya speltyper för &killbots; är otroligt enkelt, särskilt när man utgår från en befintlig regeluppsättning. Regeluppsättningar lagras som en enda skrivbordsfil där parametrar och metadata anges som enkla par av nyckel och värde.

##### &killbots; standardspeltyp

    [KillbotsRuleset]
    Name=Killbots
    Name[gl]=Robots asasinos
    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[sv]=<qt><p>&killbots; standardspeltyp.</p><p>Inkluderar ett medelstort rutnät, säker teleportering, snabba fiender och skrothögar som går att knuffa.</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

Observera att alla textparametrar ska skrivas in på amerikansk engelska. Som visas i exemplet ovan, kan översättningar läggas till i skrivbordsfilen genom att upprepa nyckeln och lägga till språkkoden mellan hakparenteser. Observera också att rik text kan anges i fältet `Description` genom att omsluta värdet med taggar <qt>.

En regeĺuppsättningsfil ska innehålla alla följande parametrar.

`Name`

- Regeluppsättningens namn, som det kommer att synas i väljaren av regeluppsättningar och dialogrutan med poängtoppen.

`Author`

- Regeluppsättningens skapare.

`AuthorContact`

- Skaparens kontaktinformation. Det är oftast en e-postadress.

`Description`

- En beskrivning av regeluppsättningen. Den bör ge en rimlig översikt av speltypen, men den behöver inte ange värdet av varje parameter, eftersom den informationen går att se i dialogrutan Detaljinformation.

`Rows`

- Antal rader i spelets rutnät.

`Columns`

- Antal kolumner i spelets rutnät.

`EnemiesAtGameStart`

- Antal vanliga fiender som läggs till på rutnätet vid den första omgångens start.

`EnemiesAddedEachRound`

- Antal ytterligare vanliga fiender som läggs till på rutnätet vid början av varje omgång.

`FastEnemiesAtGameStart`

- Antal snabba fiender som läggs till på rutnätet vid den första omgångens start.

`FastEnemiesAddedEachRound`

- Antal ytterligare snabba fiender som läggs till på rutnätet vid början av varje omgång.

`EnergyEnabled`

- Om inställd till `false` kommer hjälten att kunna tjäna eller använda energi.

`EnergyAtGameStart`

- Energimängden som hjälten erhåller vid den första omgångens start.

`EnergyAddedEachRound`

- Energimängden som hjälten erhåller vid början av varje omgång.

`MaxEnergyAtGameStart`

- Hjältens maximala energikapacitet vid den första omgångens start.

`MaxEnergyAddedEachRound`

- Ändringen av maximal energikapacitet vid början av varje omgång.

`SafeTeleportEnabled`

- Om inställd till `false` är säker teleportering inaktiverad.

`CostOfSafeTeleport`

- Energimängden som går åt för att teleporteras säkert.

`VaporizerEnabled`

- Om inställd till `false` är användning av upplösningspistolen inaktiverad.

`CostOfVaporizer`

- Energimängden som går åt för att använda upplösningspistolen.

`PushableJunkheaps`

- Antal skrothögar som kan flyttas med en enda knuff. Möjliga värden är `None` (ingen), `One` (en) och `Many` (många)

`SquaskKillsEnabled`

- Om sant kan hjälten krossa fiender genom att knuffa skrothögar på dem.

`JunkheapsAtGameStart`

- Antal skrothögar som läggs till på rutnätet vid den första omgångens start.

`JunkheapsAddedEachRound`

- Antal ytterligare skrothögar som läggs till på rutnätet vid början av varje omgång.

`PointsPerEnemyKilled`

- Antal poäng som erhålls för att förstöra en vanlig fiende.

`PointsPerFastEnemyKilled`

- Antal poäng som erhålls för att förstöra en snabb fiende.

`WaitKillPointBonus`

- Antal bonuspoäng som erhålls för att förstöra en fiende vid väntan på omgångens slut.

`WaitKillEnergyBonus`

- Antal bonusenergienheter som erhålls för att förstöra en fiende vid väntan på omgångens slut.

`SquashKillPointBonus`

- Antal bonuspoäng som erhålls för att krossa en fiende med en skrothög.

`SquashKillEnergyBonus`

- Antal bonusenergienheter som erhålls för att krossa en fiende med en skrothög.

#### Installera egna speltyper

För att &killbots; ska detektera och använda en ny speltyp måste regeluppsättningsfilen flyttas till en lämplig katalog. För att bara installera speltypen för nuvarande användare, kopiera filen till `killbots/rulesets` i ``qtpaths` `--paths GenericDataLocation`` . För att göra speltypen tillgänglig i hela systemet, flytta filen till `killbots/rulesets` i systemkatalogen ``qtpaths` `--paths GenericDataLocation`` . Observera att det troligen kräver administratörsrättigheter.

## Tack till och licens

&killbots;

Program copyright 2007–2009 Parker Coates parker.coates@kdemail.net

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

Översättning Stefan Asserhäll stefan.asserhall@bredband.net

&underFDL; &underGPL;
&documentation.index;