Игра

Играта се играе като се мести работника. Работника може да ходи от една празна клетка в друга или може да избута сандък (по посока на движението си) от клетка в която има такъв в съседна на сандъка (празна) клетка.

Игра с клавиатурата

Всички тези движения могат да се извършват с клавиатура или мишка. Когато се ползва клавиатурата се използват стрелките (лява, дясна, нагоре, надолу) за да се движи работника.

Връщане назад/преиграване на ход

С YSokoban е възможно да се връщате назад и да преигравате върнат ход. С клавиатурата това се прави със клавиша за изтриване назад (известен като backspace), за преиграване на върнат ход използвайте интервал.

Когато сменяте ниво (или презареждате текущото ниво с Esc) всичките ви ходове се преобразуват и запазват в буфера за преиграване (redo). Ако сте презаредили нивото с Esc, то можете да преиграете ходовете си като ползвате интервал (redo). Ако случайно сте минали на друго ниво, може да се върнете на предишното и да ползвате буфера за преиграване (в който все още се пазят ходовете ви).

Игра с мишката

Обикновено когато изиграете 2 - 3 нива за пръв път, разбирате че как точно ще добутате даден сандък до дадено място съвсем не е интересна и важна задача. Важната, трудна и интересна задача е в каква последователност и кой сандък къде трябва да бъде бутнат.

Ако използвате мишката може да се концентрирате само върху важната и интересна задача, като оставите на компютъра безинтересната и досадна работа.

Мишката може да се използва по няколко начина:

Връщане назад на ход и преиграването му (стандартно) се прави чрез колелото на мишката. Но ако искате може да го преконфигурирате.

Намиране на път за бутане на сандък

YSokoban има алгоритъм за намиране на път за бутане на сандъците, за да помогне с досадната и непродуктивна част от играта:

Бързо движение

По време на игра може да не искате да виждате анимираното движение докато се бутат сандъците. Това се случва най-често при огромни нива в които има много движения докато работника бута сандъците.

В такъв случай може да натиснете бутона <БД> и всички междинни движения на работника ще бъдат пропуснати (виждате веднага крайния резултат).

При "бързото движение", може да изберете да се показва движение само при смяна на посоките на работника (когато прави завои). По този начин "бързото движение" не е твърде бързо, виждат се някой от междинните стъпки.

Пример за намиране на път и бързо движение (в английската версия, бутона "БД" е "IM"):

Преминаване през сандъци

В някой случаи ограничението "работника да пипа други сандъци" докато си търси път за бутане на даден сандък е прекалено силно. Има много случаи (специално подбирани от аторите на нива), където за да минете от едно място на нивото до друго, се налага да бутнете някой сандък, преминете и после да го върнете на мястото му (нещо като еднопосочен пропусквателен пункт). Такова преминаване с бутане и последващо връщане на сандък се нарича "преминаване през сандък".

Би било удобно ако има възможност това да става автоматично. YSokoban поддържа тази възможност и за целта трябва да я разрешите в настройките.

Когато е разрешена при подсказките ще бъдат показвани местата където работника може да достигне след като "мине през сандък" (ако е възможно). При подсказките се ползват следните обозначения

  • достъпните сандъци/места се маркират с кръгче
  • тези сандъци през които може да се мине (т.е. тези които ще се местят и връщат на мястото си) са отбелязани с квадратче
  • кръгчето/квадратчето е бяло ако мястото е директно достъпно (не се налага минаване през сандък)
  • кръгчето/квадратчето е черно ако мястото е само индиректно достъпно (т.е. налага се минаване през сандък)

Пример:

Местене на работника с преминаване през сандък:

Местене на сандък с преминаване през сандък:

Запис/Зареждане по време на игра

Може да записвате и по-късно зареждате текушото състояние по време на игра

  • Ctrl-S: за да си запишете текущата позиция (и ходовете)
  • Ctrl-D или Ctrl-O: да заредите записаната позиция

Ще трябва да укажете име на файл, което да се използва при записа.

Копиране/Вмъкване (Copy/Paste)

Възможно е да се ползва клипборда по време на игра. Може да се копира нивото или ходовете При импортиране (вмъкване) на решения ще трябва да се ползва така наречения LURD формат. Когато се импортира решение то може да бъде с малки или големи букви. Когато се еьпортира то LURD форматираните ходове ще имат правилния размер (малки букви за движение, големи за бутане).

Копиране на текущото ниво и ходовете в клипборда

При натискане на следните клавиши в клипборда ще се копират:

  • Ctrl-L текущото ниво (и решението му, ако има такова), ако сте по средата на решаването, то ще копира текущите ходове, текущото състояние на нивото и оригиналното ниво
  • Ctrl-ALT-L - същото като Ctrl-L но интервалите са заместени с - или _ (минуси или подчертавания, зависи от настройките)
  • Ctrl-Shift-L - същото като Ctrl-L but в RLE пакетиран формат
  • Ctrl-ALT-Shift-L - същото като Ctrl-L но в MF8 формат, този формат е специфичен за MF8 група използваща го за обмяна на информация.
  • Ctrl-M - същото като Ctrl-L но има XSB + MF8 формат
  • Ctrl-Ins (или Ctrl-C) - копиране на ходовете направени до момента (в LURD формат)

Забележка: Ако сте решавали дадено ниво, то за да копирате решението в клипборда (без да го изигравате отново) трябва да натиснете Ctrl-C преди да сте направили ход (т.е. на току що заредено ниво, или след Esc). Ако няма направени ходове, то YSokoban ще копира избраното решение (ако са повече от 1, то това което е избрано в комбо бокса с решенията) в клипборда.

Вмъкване (paste) на ниво/решение

Когато се вмъква от клипборда YSokoban анализира съдържанието и ако е ниво (или колекция) го използва като такова. Ако е последователност от ходове (LURD формат) ще се опита да ги изиграе в текущото ниво от текущото състояние.

  • Shift-Ins (или Ctrl-V) - вмъкване на ходове (или ниво/колекция) от клипборда (очаква LURD формат за ходовете или ниво в нормален текстов формат), и двете (ходове и ниво) могат да бъдат RLE кодирани.
  • Ctrl-Shift-V (Ctrl-Shift-Ins) - същото като по-горе (за импорт на ходове), но при изиграването им спира на всяк смяна на сандък, като може да продължите с интервал.
    Всъщност това само попълва ходовете за преиграване (redo buffer). Например: натиснете Ctrl-C (или Ctrl-Ins) след като изиграете нивото (но преди да се преминали на следващия). Всичаки ходове ще бъдат копирани в клипборда в LURD формат. Сега може да ги запишете в писмо в електронната си поща (или някакъв друг текстов файл).
    Ако получите решение по подобен начин: маркирайте го и го копирайте в клипборда. Отидете на нужното ниво и натиснете Shift-Ins (или Ctrl-V) и ходовете ще бъдат изиграни (ако са коректни), изиграването ще спре когато те свършат (или при първия некоректен).
    Ако искате да гледате изигрването с паузи (при смяна на сандъците), то натиснете Ctrl-Shift-V (или Ctrl-Shift-Ins).
    Изиграването може да се спре с интервал или да се продължи без паузи с Ctrl-space.
  • Ctrl-ALT-C (Ctrl-ALT-Ins): копира в клипборда остатъка от ходовете ако в момента изигравате ходове един по един (или с паузи). Тази възможност бе поискана за реализиране в YSokoban от Ming със следното обяснение: когато преигравам решение (като ги разглеждам с паузи), Ctrl-C копира текущо извършените ходове в клипборда. Би било добре ако може да се копира остатъка от ходовете (все още очакващи изиграване) също. Това ще помогне за подобряване/оптимизиране на решенията. Често след като се инспектира решението се вижда как може да се подобри, като не се продължава а се извършат други действия, след което се прилага остатъка (или негова част), но за целта трябва да можем лесно да копираме остатъка в клипборда.

Промяна на ориентацията на нивото

Може да играете всяко ниво в която и да е от 8-те възможни ориентации (завъртяно/отразено). Може също да изберете дадена ориентация да се прилага за всички нива, които ще играете. Може да промените ориентацията от панела за ориентация или да използвате описаните там клавишни комбинации