# Handbok &kappname;

Gael
Kleag
de Chalendar

    Kleag@free.fr

Stefan
Asserhäll

    stefan.asserhall@comhem.se

Översättare
2009
Gaël de Chalendar
&FDLNotice;
22/05/2009
4.3

&ksirk; är en datorversion av ett välkänt strategispel. Det är fullständigt anpassningsbart med olika skal. Den här handboken förklarar hur man skapar nya skal från början, med användning av en filhanterare, en SVG-bildeditor och &kappname;.

KDE
kdegames
spel
strategi
Risk
fri
GPL
skal
editor

## Inledning

&ksirk; är en datorversion av ett välkänt strategispel. Det är fullständigt anpassningsbart med olika skal. Den här handboken förklarar hur man skapar nya skal från början, med användning av en filhanterare, en SVG-bildeditor och &kappname;.

Här är en skärmbild av &kappname; Skärmbild

Det finns tre huvudsteg när ett nytt skal ska läggas till: skapa kataloghierarkin, skapa grafiken, helt samlad inne i en SVG-fil, och därefter placera figurerna och namnge allt med användning av &kappname;.

## Skapa ett &ksirk;-skal

&ksirk; är fullständigt anpassningsbart med olika skal. För de som kan handskas med grafik, är det enkelt att skapa ett nytt skal, genom att kopiera ett befintligt skal, redigera eller ändra grafiken och uppdatera data i en .desktop-inställningsfil, vilket görs med användning av &kappname;. Det sista steget är att redigera filen som beskriver vad som ska installeras.

Alla exempel (text och bilder) kommer från &ksirk;s standardskal

### Katalog- och filstruktur

- Data/ : Data använt av programmet för att hantera skalets bilder.

  - CMakeLists.txt : Beskriver vad som ska installeras.

  - onu.desktop : Huvudfil för beskrivning av skalet. Se beskrivningen nedan.

- Images/ : Skalets bilder (karta, figurer, etc.)

  - CMakeLists.txt : Beskriver vad som ska installeras.

  - pool.svg : kartan och alla figurer som används av skalet.

  - map-mask.png : bilden som gör det möjligt för programmet att ta reda på vilket land musen finns över under spelet (se nedan).

  - *.png : övriga bilder här är knapparnas ikoner.

- CMakeLists.txt/ : Beskriver vad som ska installeras.

- Sounds/ : ljudfiler för skalet.

#### Katalogen Data

Den här katalogen innehåller bara en fil, world.desktop. Filen är en beskrivning av skalets innehåll. Den används för att beskriva hur världen är organiserad och hur den ska visas. Man behöver inte fylla i den för hand, eftersom det hanteras av &kappname;. Men för fullständighetens skull, beskrivs dess struktur här.

En onu-grupp innehåller ett antal landsposter, ett antal nationalitetsposter och till sist ett antal kontinentposter. Därefter innehåller diverse grupper beskrivningen av de olika figurerna, beskrivningen av de olika länderna, kontinenterna, nationaliteterna och målen.

Följande avsnitt beskriver innehållet i varje grupp.

##### onu-gruppen

###### Posterna i onu-gruppen

Postnamn | Betydelse
--- | ---
width | Bredden på skalets karta
height | Höjden på skalets karta
skinpath | Sökvägen till skalet i förhållande till programmets datasökväg (t.ex. det förvalda skins/)
nb-countries | Antal länder (42 i standardskalet). Det ska finnas lika många landsgrupper nedan
nb-nationalities | Antal nationaliteter (6 i standardskalet). Det ska finnas lika många nationalitetsgrupper nedan
nb-continents | Antal kontinenter (6 i standardskalet). Det ska finnas lika många kontinentgrupper nedan
pool | Sökväg och namn på pool-filen i förhållande till skalets sökväg (t.ex. Images/pool.svg)
map-mask | Sökväg och namn på kartmaskfilen i förhållande till skalets sökväg (t.ex. Images/map-mask.png)
format-version | Skalfilformatets version (2.0)
name | Namnet på skalet som visas
desc | Den långa beskrivningen av skalet
fighters-flag-y-diff | Höjdskillnaden mellan flaggor och kanonfigurer
width-between-flag-and-fighter | Antal bildpunkter mellan flaggans vänstra bildpunkt och den vanliga kanonens högra bildpunkt (när den inte skjuter eller exploderar)

##### Beskrivningsgrupperna för figurer

Varje typ av figur (flagga, infanterist, kavalleri, kanon, skjutande kanon och exploderande kanon) definieras av en grupp. Bara vissa figurer har breddinformation. Den används för relativ placering vid animering: när kanonerna skjuter eller exploderar ska de inte "flyttas" runt landets flagga under en strid.

###### Grupposter för figurbeskrivning

Post | Betydelse
--- | ---
width | Referensbredden på flaggfigurernas ramar
height | Referenshöjden på flaggfigurernas ramar
frames | Antal ramar i flaggfiguren
versions | Antal versioner av flaggfigurerna

##### Beskrivningsgrupper för länder

Varje land som listas i onu-gruppens landspost har sin egen grupp, vars beteckning är landets namn. Tabellen nedan listar posterna i dessa grupper.

###### Landsposter

Postnamn | Betydelse
--- | ---
id | Heltalet med landets unika identifikationsnummer, måste börja från noll (0)
name | Landets visade namn
<sprite>-point | Varje sorts figur (flagga, infanterist, etc.) i landet visas på en viss plats definierat av den här posten skapad av två heltal åtskilda av ett kommatecken
neighbours | Listan av identifierare för grannarna till det aktuella landet

##### Beskrivningsgrupper för nationaliteter

Varje nationalitet som listas i onu-gruppens nationalitetspost har sin egen grupp, vars beteckning är nationalitetens namn. Tabellen nedan listar posterna i dessa grupper.

###### Nationalitetsposter

Postnamn | Betydelse
--- | ---
name | Nationalitetens namn (t.ex. Japan)
leader | Namnet som föreslås för spelaren som väljer nationaliteten
flag | Namnet på landets flaggfigurelement i onu SVG-filen

##### Beskrivningsgrupper för kontinenter

Varje kontinent som listas i onu-gruppens kontinentpost har sin egen grupp, vars beteckning är kontinentens namn. Tabellen nedan listar posterna i dessa grupper.

###### Kontinentposter

Postnamn | Betydelse
--- | ---
name | Kontinentens namn (t.ex. Afrika)
id | Kontinentens unika heltals-identifikationsnummer
bonus | Antal arméer som erhålls i slutet på omgången av spelaren som äger kontinentens alla länder
continent-countries | Listan över identifierare för länderna på den aktuella kontinenten

##### Beskrivningsgrupper för mål

Varje mål som listas i onu-gruppens målpost har sin egen grupp, vars beteckning är målets namn. Tabellen nedan listar posterna i dessa grupper.

###### Målposter

Postnamn | Betydelse
--- | ---
type | Målets typ. Kan vara kontinenter, länder eller spelare
nbArmiesByCountry | ställer in minimalt antal arméer spelaren måste placera på varje land
nbCountries | ställer in antal länder som spelaren måste äga
nbCountriesFallback | För måltypen spelare, om målets spelare dödas av någon annan, ställer det här in antal länder som spelaren måste erövra istället
desc | En fullständig textbeskrivning av målet med lämpliga platsmarkörer (ytterligare dokumentation behövs här)
continents | Listan med kontinent-identifierare som spelaren måste erövra

#### Katalogen Images

Katalogen innehåller knappar specifika för &ksirk;, och SVG-filen pool som innehåller kartan och alla figurer.

##### Filen pool.svg

SVG-filen innehåller kartan och alla spelets figurer. Varje element namnges så att spelet kan välja och återge var och en av dem separat.

Med standardskalet är figurerna flaggor, infanterister, kavalleri och kanoner. En infanterist representerar en armé, kavalleri är fem och kanoner är tio. Kanoner används också för att visa stridande arméer. Därför finns det tre olika sorters kanonfigurer: normala stillastående eller förflyttade, skjutande och exploderande kanoner.

Varje figurbild är sammanslagningen av objektets diverse olika vyer, och för varje vy, dess ramar. Vyerna organiseras vertikalt, och ramarna horisontellt. Var bilden ska delas i enskilda ramar beräknas genom att dela bildens höjd med antal vyer och dess bredd med antal ramar. Denna information hittas i filen onu.desktop.

Ett exempel på en figurbild: cannon.png

För arméfigurer finns det tre olika versioner, uppifrån och ner:

- vända åt höger

- vända åt vänster

- vända framåt

För flaggor finns bara en version. Alla figurernas bakgrunder ska vara genomskinliga.

Ett exempel på en flaggfigurbild: italy.png

###### Elementen i pool

Elementnamn | Exempelbild | Betydelse
--- | --- | ---
map |  | Karta över skalets värld. Länder kan ha godtyckliga former, men bör grupperas i kontinenter som kan kännas igen med blotta ögat, enligt plats eller färg.
italy |  | Flaggan för nationen italy. Det finns en sådan post för varje nation
infantry |  | Ikon som representerar en armé
cavalry |  | Ikon som representerar fem arméer
cannon |  | Ikon som representerar tio arméer
firing |  | Ikon som representerar arméer under en strid
exploding |  | Ikon som representerar arméer när en strid förloras
Alaska |  | Formen av staten Alaska. Den används för att markera staten. Det finns en sådan form för varje stat. Dess färg används inte. Av den anledningen är färgen valfri.
reddices |  | De röda tärningarna används för att visa stridsresultat
bluedices |  | De blåa tärningarna används för att visa stridsresultat
mark1 |  | Markeringen läggs till för stridande figurer för att visa antal arméer de representerar, här 1. Elementen mark2 och mark3 finns också.

##### Filen map-mask.png

Detta är en png-fil som också representerar skalets världskarta, men med kodade färger som gör det möjligt att unikt identifiera varje land. Länder måste åtminstone ha samma form som motsvarande länder i filen map.png, så att användare kan klicka var som helst i ett synligt land och markera det på ett bra sätt. Länder som består av små öar, som Indonesien på standardkartan, kan vara större än motsvarigheten i filen map.png för att förenkla markering av landet. Ett exempel på en kartmask

Ett lands blåa komponent (med RGB-modellen) identifierar landet: index 0 är land 0 i filen onu.xml,, index 1 är land 1, etc. Vitt (0xFFFFFF med RGB) identifierar frånvaro av ett land (hav eller, varför inte, ingenmansland).

##### Knappbilderna

Filnamnen är hårdkodade i källkoden, så de får inte ändras. Tabellen nedan visar alla knappar som måste tillhandahållas.

###### Knapparna i det grafiska gränssnittet

Bild | Filnamn | Betydelse
--- | --- | ---
| newNetGame.png | Försöker gå med i ett nätverksspel
| recycling.png | När alla spelare har placerat ut sina arméer är det möjligt att ändra fördelningen (betecknat omfördela). Knappen begär att utföra en sådan omfördelning.
| recyclingFinished.png | Väljer att inte omfördela. För att omfördelningen verkligen ska avslutas måste knappen klickas i alla klientfönster.
| nextPlayer.png | Avslutar den nuvarande spelarens tur och byter till nästa, eller går till nästa omgång om den nuvarande spelaren var sist
| attackOne.png | Väljer att börja ett anfall med en armé
| attackTwo.png | Väljer att börja ett anfall med två arméer
| attackThree.png | Väljer att börja ett anfall med tre arméer
| defendOne.png | Väljer att försvara ett anfallet land med en armé
| defendTwo.png | Väljer att försvara ett anfallet land med två arméer
| moveArmies.png | Väljer att börja flytta arméer mellan två länder (sista åtgärden i turen)

#### Katalogen Sounds

Katalogen innehåller tre ljudfiler:

- roll.wav som spelas när arméer förflyttas

- cannon.wav som spelas vid eldgivning och

- crash.wav som spelas när en kanon exploderar

### Använda &kappname;

Efter att ha skapat grafiken i rätt katalog och SVG-fil, måste du bara skapa länder, spelare, etc., och koppla ihop dem med rätt SVG-element i filen pool. Det kan göras med &kappname;. Observera att varje del av programmet automatiskt beskrivs med verktygstips och sammanhangsberoende hjälp, som oftast kan nås med snabbtangenten Ctrl+F1.

Här är en skärmbild av &kappname; Skärmbild

## Kommandoreferens

### Huvudfönstret i &kappname;

#### Knapparna

Ladda Ladda

  Gör att programmet laddar ett befintligt skal.

Spara Spara

  Sparar det nuvarande skalet som redigerats

## Utvecklingsguide för &kappname;

Se http://api.kde.org/ för dokumentation av programmeringsgränssnittet.

## Vanliga frågor

&updating.documentation;

## Tack till och licens

&kappname;

Program copyright 2009 Gael de Chalendar kleag@free.fr

Dokumentation copyright 2009 Gael de Chalendar kleag@free.fr

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

&underFDL; &underGPL;

## Installation

### Hur man skaffar &kappname;

&install.intro.documentation;

### Kompilering och installation

&install.compile.documentation;

&documentation.index;