# Handbok &killbots;

Parker
Coates
parker.coates@gmail.com
Stefan
Asserhäll

    stefan.asserhall@comhem.se

Översättare
2008
Parker Coates
&FDLNotice;
2008-03-24
1.0.0

&killbots; är en &kde;-version av det klassiska terminalspelet `robots` i BSD.

KDE
kdegames
spel
Killbots
Strategi
En spelare
Ensam spelare
robotar
robot
snabbot
KDE
teleportera
energi

## 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 regeluppsättningar 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 regeluppsättning. Kontrollera beskrivningen av nuvarande regeluppsättning 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 regeluppsättning som används. Varje cell kan innehålla en av följande figurer:

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 regeluppsättningar.

Skrothög

  När två eller flera fiender 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 dig och dina angripare.

  Vissa regeluppsättningar 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 regeluppsättningar. 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å regeluppsättningen.

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 detta tillfälle överges den pågående omgången, fiendeantalet återställs till det som användes i den första omgången, och en ny omgång startas.

#### 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 till 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å regeluppsättningen 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 till omgångens slut.

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

### Specialåtgärder

Förutom enkel förflyttning från cell till cell, har hjälten tre 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. 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 kan i själva verket använda sig av ett annat 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.

Alla regeluppsättningar tillåter inte säker teleportering, och detaljer i hur man skaffar energi varierar mellan regeluppsättningar.

#### 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 regeluppsättningen.

## Ö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 Anpassa genvägar.

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

#### 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 , 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.

### Menyn Spel

&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;.

### Menyn Flytta

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.

Y Flytta Vänta till omgångens slut

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

### Menyn Inställningar

Inställningar Visa verktygsrad

  Visar eller döljer programmets huvudverktygsrad.

Inställningar Anpassa genvägar...

  Visar &kde;:s vanliga inställningsdialogruta för genvägar. Den gör det möjligt att definiera om vilken som helst eller alla snabbtangenter i &killbots;, inklusive förflyttningstangenterna.

Inställningar Anpassa verktygsrader...

  Visar &kde;:s vanliga inställningsdialogruta för verktygsrader. Den gör det möjligt att välja vilka åtgärder som visas i &killbots; verktygsrad.

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.

### Menyn Hjälp

&help.menu.documentation;

## 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. 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.

`text`

  Färgen som används för att fylla i elementet 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 `$`KDEHOME`/share/apps/killbots/themes`. För att göra regeluppsättningen tillgänglig i hela systemet, flytta filen till ```kde-config --prefix``/share/apps/killbots/themes`. Observera att det troligen kräver administratörsrättigheter.

### Skapa egna teman

#### Skrivbordsfilen

Att skapa nya regeluppsättningar 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.

##### Skapa regeluppsättningar för &killbots;

    [KillbotsRuleset]
    Name=&killbots;
    Author=Parker Coates
    AuthorContact=parker.coates@gmail.com
    Description=<qt><p>The default &killbots; ruleset.</p><p>A 16 by 16 cell grid. The game starts with 8 robots, 4 more are added each round. 2 fastbots are added each round after Round 2. Teleporting safely costs 1 energy, with a maximum energy cap or 12. Multiple junkheaps are pushabel at a time. 5 points for each robot destroyed and 10 for each fastbot. 1 bonus energy for each enemy destroyed with a junkheap or while waiting out the round.</p></qt>
    Description[sv]=<qt><p>Regeluppsättningen som är standard i &killbots;.</p><p>Ett 16 gånger 16 rutnät. Spelet börjar med 8 robotar, ytterligare 4 läggs till varje omgång. Två snabbotar läggs till varje omgång efter den andra. Säker teleportering kostar en energienhet, med ett maximal energitak på 12. Flera skrothögar går att knuffa samtidigt. 5 poäng för varje förstörd robot och 10 för varje snabbot. 1 bonusenhet energi för varje fiende som förstörs med en skrothög eller vid väntan på omgångens slut.</p></qt>
    Rows=16
    Columns=16
    EnemiesAtGameStart=8
    EnemiesAddedEachRound=4
    FastEnemiesAtGameStart=-2
    FastEnemiesAddedEachRound=2
    EnergyAtGameStart=0
    EnergyAddedEachRound=0
    MaxEnergyAtGameStart=12
    MaxEnergyAddedEachRound=0
    CostOfSafeTeleport=1
    PushableJunkheaps=Many
    SquaskKillsEnabled=true
    JunkheapsAtGameStart=0
    JunkheapsAddedEachRound=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 vara rätt detaljerad, annars vet inte användaren vad han kan förvänta sig efter att ha valt regeluppsättningen.

`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.

`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.

`CostOfSafeTeleport`

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

`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 regeluppsättningar

För att &killbots; ska detektera och använda en ny regeluppsättning måste filen flyttas till en lämplig katalog. För att bara installera regeluppsättningen för nuvarande användare, kopiera filen till `$`KDEHOME`/share/apps/killbots/rulesets`. För att göra regeluppsättningen tillgänglig i hela systemet, flytta filen till ```kde-config --prefix``/share/apps/killbots/rulesets`. Observera att det troligen kräver administratörsrättigheter.

## Tack till och licens

&killbots;

Program copyright 2007–2008 Parker Coates parker.coates@gmail.com

Dokumentation Copyright © 2008 Parker Coates parker.coates@gmail.com

Översättning Stefan Asserhäll stefan.asserhall@comhem.se

&underFDL; &underGPL;

## Installation

### Hur man skaffar &killbots;

&install.intro.documentation;

### Kompilering och installation

&install.compile.documentation;

&documentation.index;