LURD формат

Това е начин за записване на решението като текст. Името идва от първите букви на посоките за движение (които се използват в самия начин на запис): L)eft, R)igth, U)p, D)own.

Малките букви представят движение (без бутане). Главните букви представят движение с бутане.

Така че решение, в което работника трябва да направи две стъпки в ляво, после 3 стъпки нагоре, след това да бутне два пъти сандък на дясно, ще изглежда така: lluuuRR

YSokoban винаги експортира решенията с коректни малки/главни букви, но приема решения в които това не се спазва, т.е. не прави разлика между малки/главни букви.

YSokoban приема вмъкване от клипборда (pasting с Shift-Ins или Ctrl-V) на RLE пакетирани решения.

Пакетираното решение е като нормалния LURD формат, но има RLE (run-length-encoding) повторители.

Повторителите при RLE кодирането са числа предшестващи буквата, и означаващи повторение на тази буква толкова пъти.

Например: по-горния пример (lluuuRR) ако бъде RLE пакетиран ще изглежда така 2l3u2R, с тази подробност че всъщност 2R и RR са еднакво дълги и понякога 2 не се пакетира, т.е. може да изглежда и така 2l3uRR

Не само решенията но и нивата може да бъдат RLE пакетирани. Единственото специално при тях, че допълнително се използва | (символа за права черта) вместо нов ред: Например:

2_5#|3#3_#|#2_*#_2#|#_#2_*_#|#_*2_#_#|2#_#+2_#|_#3_$2#|_3#2_#|3_4#

е еквивалентен на:

2_5#          __#####
3#3_#         ###___#
#2_*#_2#      #__*#_##
#_#2_*_#  --> #_#__*_#
#_*2_#_#      #_*__#_#
2#_#+2_#      ##_#+__#
_#3_$2#       _#___$##
_3#2_#        _###__#
3_4#          ___####

YSokoban ще запише RLE пакетирани нивата и решенията в клипборда ако се използва Ctrl-Shift-L

Има настройка (вижте опциите) как да се кодира празната клетка, като '_' или като '-'. И двата символа се възприемат при импорт (дори и интервал е възможен, макар че интервалите не изглеждат добре по писма и чатове).

Push формат

LURD формата описва решението като задава всяко движение на човека. При "push" формата решението се описва като се указва движението на сандъците. Прилича малко на начина на записване на ходовете в шаха (местим сандък от къде - къде), например:

=(H5-G5,H4-H3,F5-F6,F8-R7,F6-R9,G5-R8,H3-H5,F3-Q7,C8-Q9,H5-Q8)

За да се запише решението в клипборда в push формат: натиснете Ctrl-P (това ще го активира), за да го деактивирате натиснете отново Ctrl-P. Когато е push формата е активен се вижда P в червено кръгче в горния ляв ъгъл. Копирането в клипбодат ще бъде направено в push формат и той се деактивира веднага. Ако искате push формата да остане активен и след копирането (да не се деактивира автоматично) използвайте Ctrl-Shift-P.

Когато се вмъква решение в push формат YSokoban го разпознава и ползва (не е нужно "push" формата да е активен).

Има някой особености при описване на решение в което има сандъци през които се минава (първо се бутат няколко клетки встрани и после се връщат). Нормално (Ctrl-P) тези сандъци изобщо не се описват в решението и програмата сама намира начин да се оправи с тях. Ако искате да се виждат в решението в push формат използвайте Alt-P вместо Ctrl-P. В решението тези сандъци ще бъдат указани в къдрави скоби (например {H4}, което значи че сандъка на H4 ще бъде преместен и върнат на мястото му).

Ако искате в push формата да се указват явно всички премествания на сандъци то използвайте Ctrl-Alt-P вместо Ctrl-P. В такъв случай за такива сандъци ще се задават две бутания - избутването встрани от пътя и връщането обратно.

Клавиши Действие
Ctrl-P активира push формат при копиране в клипборда. След копиране (Ctrl-C) ще се деактивира автоматично.
Когато е активен в горния ляв ъгъл се вижда "G" в червен кръг.
Ctrl-SHIFT-P същото като Ctrl-C, но не се самоизключва.
Alt-P активира push формат при копиране в клипборда, като маркира сандъците през които се преминава с {}. След използването (Ctrl-C) се деактивира.
В горния ляв ъгъл има "{}" в червен кръг
Alt-Shift-P същото като Alt-P, но не се самоизключва.
Ctrl-Alt-P активира push формат при копиране в клипборда, но не предполага използване на преминаване през сандъците. След използването (Ctrl-C) се деактивира.
В горния ляв ъгъл има "P" в червен кръг.
Ctrl-Alt-Shift-P същото като Ctrl-Alt-P, но не се самоизключва.

Created with Ywiki