SokoSave Documentation Eric Sunshine sunshine@sunshineco.com
Paul McCarthy zarnuk@high-speed-software.com
Introduction
Features
Download
    SokoSave
    SokoSplit
Screenshots
Documentation
    English
    Swedish
Awards
Testimonials
Mailing List
Release Notes
News
Links
    Puzzles
    Resources
    Sokoban
    Hexoban
    Trioban
    Octoban
    Multiban
    Gartriage
Credits
SokoSave

SokoSave är en variant på Sokoban, ett japanskt spel/pussel, som kom till i början av 1980-talet. 1994 kom den första versionen med inriktning på att kunna avbryta pusslet och att senare kunna fortsätta vid avbrottet. Därav "Save" (spara) i namnet.

  RÄTTIGHETER

Copyright ©1997,2001,2002 för SokoSave tillhör Eric Sunshine.
Copyright ©1997 för SokoSave tillhör Paul McCarthy.

SokoSave är fri programvara och får användas utan kostnad. Du får göra och överlåta rena kopior av programmet men ej uppbära någon som helst ersättning för detta.

Den senaste versionen av SokoSave kan alltid hämtas från www.high-speed-software.com/sokosave.

  SPELET

  Starta nytt spel

Du startar ett nytt spel genom att välja New... ur menyn Game. Du får upp ett fönster, som ger dej möjlighet att välja spel (kallas också pussel).

  Spelets ändamål

Spelets mål är att låta gubben (föreståndaren för ett lager) skjuta alla packlådorna till de rätta lagerplatserna. Hur pusslets olika element symboliseras visas här under.

Gubbe
Låda
Markerad låda
Tomt golv
Tom lagerplats
Vägg

SokoSave understöder det klassiska Sokoban uppbyggt på fyrkanter men även sexkantsformat Hexoban och det triangelformade Trioban pusslet.

  Flytta runt

För det fyrkantiga spelet kan gubben flytta sig uppåt, nedåt, åt vänster och höger. Flyttning diagonalt tillåts inte, men genom att simulera diagonalt, som ett vågrätt och ett lodrätt (eller vice versa) steg ges även denna rörelse ett berättigande. För det sexkantiga kan gubben röra sig diagonalt och vågrätt. I det trekantsformade slutligen gäller vågräta och diagonala rörelser samt lodrät, beroende på triangelns orientering. Det går bara att passera via de tänkta cellväggarna.

Naturligtvis kan han inte passera genom väggar och ej heller klättra över lådor.

Du har tre möjligheter att flytta gubben med hjälp av musen. Med klicka (på musen) avses att du pekar på något och trycker ner den vanliga (normalt den vänstra) musknappen. Om inget annat anges, släpper du den igen (klickning). Dessutom kan du använda tangentbordet.

  • Peka & klicka. Klicka på en tom ruta. Om platsen kan nås utan hinder, går gubben dit via kortast möjliga väg.

  • Drag & släpp. Peka på gubben och tryck ner klickknappen. Flytta markören (med knappen fortfarande nertryckt) och han följer med så länge inga hinder finns på vägen. Påträffas en förflyttningsbar låda på vägen kommer han att fösa den framför sig.

  • Förflyttningsknappar. Klicka på någon av de åtta riktningsvisande knapparna, som finns i underkanten på spelplanen.

  • Piltangenter. Tryck på de fyra piltangenterna. Även tangenterna 1 - 9 på det numeriska tangentbordet kan användas om Num Lock är avaktiverat. Som exempel, 4 ger vänsterförflyttning och 9 ger en upp- + en högerförflyttning.

  Flytta lådor

Det är gubben, som flyttar lådorna genom att skjuta dem framför sig.Han kan endast flytta en låda åt gången. Om gubben står intill en låda och golvet på andra sidan är tomt kommer han att fösa på den vid sin egen förflyttning.

För det triangelformade pusslet är resultatet av fösningarna svåra att beskriva på ett enkelt sätt. Endast direkt horisontelt kommando ger horisontell rörelse. Programmet har komplexa regler för datorns handlande. Det bästa är att använda de 8 Förflyttningsknapparna. Se nedan! Dessa ger även upplysning om tänkbara vägar (de är svarta, aktiva, eller nermattade)

Det finns flera sätt att skjuta lådan på. Men fortfarande beror möjligheten till succe på gubbens rörelsemöjligheter.

  • Peka & klicka. Detta är kanske den mest användbara formen för automatiserad flyttrörelse. Klicka på en låda och den markeras när du släpper musknappen. Klicka nu på den golvyta dit du vill ha lådan flyttad. Gubben går till lådan och skjuter den till målet (den utpekade platsen) under förutsättning att tre villkor är uppfyllda.

    • att gubben kan nå lådan.
    • minst en ny golyta måste finnas mellan start- och målplatsen.
    • det får inte finnas hinder på vägen till målet.

    Den kortaste vägsträckan utnyttjas. Ångrar du en markering, kan du klicka en gång till på samma låda, klicka på en annan låda, en vägg eller en onåbar tom plats eller flytta på gubben. Även Escape på tangentbordet fungerar som ångerknapp.

  • Drag & släpp. Klicka på en låda utan att släppa upp knappen. Drag med lådan till önskad plats och släpp musknappen. Detta sätt förutsätter att samma tre villkor, som i föregående punktstycke, är uppfyllda. Om så är fallet sker förflyttningen via den kortast möjliga vägen.

  • Dra gubben. Genom att dra gubben med klickknappen nedtryckt intill en låda, följer denna med i rörelseriktningen så länge inga hinder finns.

  • Snabb flyttning. Med den andra (vanligtvis den högra) musknappen går det att snabbförflytta en låda längs en rak vägsträcka. Innan snabbflyttningen sker, ska gubben stå bakom lådan innan du klickar på målet. Han föser då lådan till detta ställe på villkoret att inga hinder finns på vägen. Har musen bara en knapp kan du trycka ner någon av Skift, Ctrl, eller Alt tangenterna samtidigt med musknappen.

  • Förflyttningsknappar. Har du gubben intill en låda kan han skjuta denna i avsedd riktning med hjälp av de rätta riktningsvisande knapparna som finns i underkanten på spelplanen så länge inga hinder finns.

  • Piltangenter. Som ovan, men med tangentbordets piltangenter. (Även 1 - 9 på det numeriska delen till höger).

  Ångra, Återta och Playback

SokoSave ger obegränsad möjlighet till ångra och återta (återta = att ångra en ångring). Dina misstag kan du "backa ifrån" (ett steg i taget) så många förflyttningar du vill genom att använda Undo Move i planens underkant. Blir det för många backningar kan du återta med Redo Move. Redo gäller tills du bryter kedjan med en förflyttning, som skiljer sig från kedjan av förflyttningar som blev ångrade. Gäller för alla rörelser.

Ångra drag/ Undo Move
Återta drag / Redo Move

SokoSave har också ett smart sätt för att ångra resp. återta. I stället för att utnyttja småsteg, som beskrivits ovan ger dessa funktioner en sammanhållen serie av småsteg. längs en rak väg. Undo Push: Använd på gubben, ångras alla steg av honom tills serien avbryts av en lådfösning alt. utgångsläget. Använd på fösning ångras alla lådförflyttningar, som ligger på en rät linje.
Redo Push fungerar på samma sätt, men med omvänd funktion.

Ångra smart / Undo Push
Återta smart / Redo Push

Du kan också använda sliden (under undo/redo), som representerar playback funktionen och backa tillbaka till önskat spelläge. Om Animate rutan är förbockad kommer förflyttningarna att animeras. Om inte, så kommer det valda läget att återges direkt utan animering. Om en animerad tillbakaspolning tar för lång tid går det att avbryta med Stop knappen, klicka någonstans på spelytan, växla till ett annat fönster eller utnyttja tangenten Esc.

SokoSave's ångra och återta är intelligenta funktioner. Om du gör drag, som SokoSave uppfattar som motsatsen till dina senaste drag, kommer funktionerna att träda i funktion till din tjänst. Ex.: du flyttar gubben tre steg åt vänster och upp ett steg utan att skjuta på någon låda och sedan gör ett steg ner och tre högersteg kommer SokoSave att se detta som fyra steg följt av fyra ångra-drag.

  Poänggivning

SokoSave beräknar flera poängsummor under spelets gång.

  • Moves. Antal steg gjorda av gubben.

  • Pushes. Antal förflyttningssteg med låda.

  • Runs. Antal raka vägsträckor där lådor har skjutits fram. Sett ur ett annat perspektiv; detta är antal gånger lådor har ändrat riktning under förflyttning.

  • Focus. Antal gånger gubbens intresse har skiftat mellan lådor. Ett högt fokustal indikerar ett pussel med en komplex lösning, som kräft återkommade knogande med lådor.

Maniska spelare vill alltid hitta något, som är bäst. I SokoSave försöker de finna lösningar med ett minimum av poäng på de fyra beräkningsgrunderna, som anges här ovan . Men detta utgör skilda mål. Som exempel går det ibland att minska antal drag utan låda på bekostnad av drag med låda eller vice versa. Här nedan visas ett prov på mål, som står i konflikt med varandra.

Som visas nedan, kan man minska antalet steg med låda (representerat av mörk linje) men på bekostnad av antal steg utan låda (visad med ljus linje). I det här fallet behövs 6 steg med låda och 28 steg utan för att få lådan i mål.

Att i stället minimera antal steg utan låda ger som resultat ett större antal steg med låda, vilket visas nedan. Här behövs 18 steg med låda (8 fler än ovan) men endast 18 (10 färre än ovan) för att få lådan i mål.

Effekten av automatiserade förflyttningarna slår olika mot poängberäkningarna beroende på val av minimeringsvillkor.

När gubben flyttas via endera drag och släpp eller peka och klicka väljer datorn alltid den väg till målet, som kräver minsta antal steg utan låda.

När den 2:a musknappen används för att flytta en låda längs en rak väg, minimeras både de gubb- och lådsteg, som behövs.

När en låda flyttas endera genom drag och släpp eller peka och klicka, minimeras primärt det antal steg med låda som behövs för att nå målet via den valda vägen. Som en sekundär effekt minimeras också det totala antalet steg utan låda, som behövs för att uppnå det primära målet. Om du har som mål att minimera det totala antalet steg utan låda ska du vara försiktig med att använda automatisk lådförflyttning eftersom minimering av steg utan låda endast är ett sekundärt mål med den här mekanismen.

  Spara och omladda spel

Du kan spara den aktuella ställningen för ett spel genom att från Game menyn välja Save eller Save As... alternativet. Med Save följer det aktuella filnamnet angivet i den blå namnlisten i spelet. Det betyder också att den ursprungliga filen överskrivs med (eller ersätts av) det du vill spara. Med Save As... kan du spara undan ställningen samtidigt som du ger den ett nytt namn. För att ladda in ett sparat pussel, använd alternativet Open... från Game menyn.

  ÖVRIGT

  Gottskrivning

Paul McCarthy skrev orinalversionen av SokoSave för NextStep datorn.

Eric Sunshine fogade många nya egenskaper till ursprunget, bl. a. de kraftfulla mekanismerna för automatiska förflyttningar. Allt för att underlätta för spelaren. Support för det hexaganala Hexoban och det trekantiga Trioban pusslet tillkom senare. Han generaliserade kärnan och spellogiken och drog ut det till ett portabelt och återanvändbart programbibliotek. Så följde överföring till Microsoft Windows med användning av Borland C++Builder, till MacOS/X,MacOS/X Server 1.0 (Rhapsody/YellowBox) for Mach and Windows och OpenStep for Mach and Windows.

De klassiska pusslen 1 - 50, publiserade av Hiroyuki Imabayashi (han skrev det första programmet eller"uppfann" Sokoban 1980), plus 40 andra spelplaner av Joseph L. Traub (för XSokoban) medföljer SokoSave.

David W. Skinner uppfann det sexkantiga Hexoban pusslet, har bidragit med Hexoban pussel och Trioban pussel.

François Marques uppfann det trekantiga Trioban pusslet, har bidragit med Hexoban, Heloban, Heroban och Tryoban (för Trioban) pussel.

Aymeric Du Peloux har sin Hexocet (för Hexoban) pusselsamling liksom Trioban pussel.

J. Kenneth Riviere , David Holland and Gerald Holler tillhandahåller Hexoban pussel.

  Återkoppling (feedback)

Om och när du skickar upplysningar/felrapportering om SokoSave, var vänlig bifoga Release och Build nummer liksom operativ system och (om möjligt) dess versionsnummer i meddelandet. Uppgifter om SokoSave finner du i Help menyn > About SokoSave

Skicka till:
Eric Sunshine <sunshine@sunshineco.com>
Paul McCarthy <zarnuk@high-speed-software.com>

High Speed Software home page.
This is a spam-free zone. See privacy statement.
Updated July 18, 2004, 7:03 UTC