# &ksokoban;-håndbogen

Anders Widell

    awl@passagen.se

&erik.kjaer.pedersen.role;
2000 Anders Widell
&FDLNotice;
2003-09-17
0.4.2

&ksokoban; er en &kde;-implementering af det japanske lagerforvalter spil sokoban. Dette dokument beskriver &ksokoban; version 0.4.2.

KDE kdegames spil sokoban ksokoban

## Indledning

Det første sokoban spil blev opfundet i 1982 af Hiroyuki Imabayashi fra det japanske firma Thinking Rabbit, Inc. Sokoban er japansk for lagerforvalter. Ideen er at du er en lagerforvalter, der prøver at skubbe kasser rundt til deres rigtige plads i et lager.

Problemet er at du ikke kan trække kasserne eller gå over dem. Hvis du ikke passer på, vil nogen af kasserne komme til at blokere for dig senere.

Det kan være temmelig svært bare at løse et enkelt niveau, men hvis du vil gøre det endnu sværere, kan du prøve at minimere antallet af træk og/eller skub, du bruger for at løse et niveau.

For at gøre spillet sjovere for små børn (under 10 år for eksempel), er der også inkluderet nogle samlinger med nemmere niveauer i &ksokoban;. De er markerede(let) i niveausamlingens menu. Disse niveauer kan selvfølgelig også være morsomme for voksne, der ikke har lyst til at blive udsat for alt for stor mental anstrengelse.

## Spillet

Spillets formål er at skubbe alle de røde smykkesten til deres målfelter, der er markerede som grønne glasagtige ting på gulvet.

Brug markørtasterne eller musen for at flytte rundt. Hvis du flytter ind mod en smykkesten, enten med en markørtaste eller med den midterste museknap, og der ikke er noget på den anden side, så vil du skubbe til smykkestenen. Det er ikke muligt at trække stenene mod sig, og man kan heller ikke gå henover dem, så man kan altså blive fanget ved at vejen er blokeret af smykkesten. Husk også at det ikke er muligt at skubbe til mere end en smykkesten af gangen.

Hvis du opdager at du har flyttet stenene på en sådan måde at niveauet er umuligt at løse, kan du altid bruge fortrydefunktionen for at komme tilbage til det sted hvor fejlen blev lavet. Man kan selvfølgelig også starte helt forfra.

### Kontroller

Tast | Handling
--- | ---
Markørtaster | Flyt et felt i den givne retning
&Ctrl;Markør-taster | Flyt så langt som muligt i den givne retning uden at skubbe til nogen sten
&Shift;Markør-taster | Flyt så langt som muligt i den givne retning og skub til den sten du rammer
Venstre museknap | Flyt til et vilkårligt sted der kan nås uden at skubbe til nogen sten
Midterste museknap eller &Ctrl;Z | Fortryd sidste træk
Højre museknap | Flyt op/ned/venstre/højre i en ret linje, og skub til sten på vejen
Musehjul | Gå gennem historikken
&Ctrl;&Shift;Z | Gør det sidste fortrudte træk igen
N | Gå til næste niveau i den aktuelle samling
P | Gå til forrige niveau i den aktuelle samling
&Esc; | Start forfra på nuværende niveau
&Ctrl;Q | Afslut spillet

### Indlæsning af ydre niveauer

&ksokoban; har evnen til at indlæse ydre sokoban niveauer fra tekstfiler. Man kan indlæse niveauer ved brug af menuindgangen Spil Indlæs niveauer..., eller ved at angive en niveaufil &URL; som et kommandolinje argument når man starter &ksokoban; fra en skal.

De ydre niveauer skal være definerede ved hjælp af standard tegn vist i tabellen nedenfor. Hvis filen indeholder mere end et niveau, skal niveauerne være adskilte af blanke linjer. Filen kan også indeholde tekst mellemniveauerne.

Tegn | betyder
--- | ---
`#` | Mur
(mellemrum) | Tomt felt
`.` | Målfelt
`$` | Objekt i et tomt felt
`*` | Objekt i et målfelt
`@` | Start position i et tomt felt
`+` | Start position i et målfelt

Som et eksempel, er der nedenfor en tekstrepræsentation af første niveau i Microban niveausamlingen:

    ####
    # .#
    #  ###
    #*@  #
    #  $ #
    #  ###
    ####

## Menureference

Dette er en fuldstændig guide til &ksokoban;'s menuer.

### Spil-menuen

Spil Indlæs niveauer...

  Indlæs et ydre niveau. Se afsnittet Indlæsning af ydre niveauer for flere oplysninger.

N Spil Næste niveau

  Indlæser det næste niveau.

P Spil Forrige niveau

  Gå tilbage til forrige niveau.

&Esc; Spil Genstart niveau

  Start forfra på nuværende niveau.

Spil Niveau-samling

  Skift til et andet sæt niveauer. &ksokoban; kommer med adskillige sæt niveauer, og du kan indlæse mere som du finder på internettet.

&Ctrl;Z Spil Fortryd

  Fortryd sidste træk

&Ctrl;&Shift;Z Spil Annullér fortryd

  Annullér sidste gang du fortrød et træk med menupunktet ovenfor.

&Ctrl;Q Spil Afslut

  Gå ud af &ksokoban;.

### Animeringsmenuen

Animering Langsom Animering Middel Animering Hurtig Animering Fra

  Ændr hastigheden på animeringerne. Standardindstillingen er Middel.

### Bogmærke-menuen

Bogmærker Sæt bogmærke

  &ksokoban; tillader at du sætter bogmærker med et niveau i en bestemt tilstand. Du vil måske bruge dette for at spare dig selv for at gentage de samme første skridt på et niveau.

  Du kan have op til ti bogmærker af gangen, og få adgang til dem med tasten &Ctrl;X, hvor X er et ciffer mellem 0 og 9.

Bogmærker Gå til bogmærke

  Spring til en tilstand du tidligere har gemt som et bogmærke.

### Hjælp-menuen

F1 Hjælp &kappname;-håndbogen...

  Starter KDE's Hjælpesystem startende med &kappname;'s hjælpesider. (dette dokument).

Hjælp Rapportér programfejl...

  Åbner en fejlrapporteringsdialog hvor du kan rapportere en programfejl eller bede om en ønskeliste-egenskab.

Hjælp Om &kappname;

  Dette viser information om version og forfattere.

Hjælp Om KDE

  Dette viser information om versionen af KDE og anden almen information.

## Medvirkende og licens

&ksokoban;'s ophavsret © 1998-2000 ved Anders Widell. awl@passagen.se.For seneste info om &ksokoban;, se &ksokoban;'s hjemmeside på http://hem.passagen.se/awl/ksokoban/

Baggrundsgrafikken starfield blev taget fra Gimp. Al anden grafik er lavet af Anders Widell awl@passagen.se ved brug af Povray ray tracer.

Alle aktuelt inkluderede sokoban niveauer er lavet af David W. Skinner sasquatch@bentonrea.com. Se hans sokoban side på http://users.bentonrea.com/~sasquatch/sokoban/

&erik.kjaer.pedersen.credit; &underFDL; &underGPL;

## Installation

&install.intro.documentation; &install.compile.documentation;
&documentation.index;