1#!/usr/5bin/sed -nf
2#r
3#r sokoban.sed - aur�lio marinho jargas <aurelio@verde666.org>
4#r Changes by Gunnar Ritter, October 2002.
5#r
6#r Sccsid @(#)sokoban.sed	1.7 (gritter) 10/12/03
7#r
8#r motivated by reading the amazing Adventure (Colossal Cave) history
9#r      <http://www.rickadams.org/adventure/a_history.html>
10#r GPL levels took from Mike Sharpe's sokoban.vim <http://vim.sourceforge.net>
11#r
12#r IMPORTANT
13#r this script has terminal control chars, so you must DOWNLOAD this
14#r file. just copy/paste or printing it to a file (lynx) will NOT work.
15#r
16#r THE GAME
17#r you know sokoban. everybody knows sokoban.
18#r right, if you don't, it's a box pushing game. you have a mess, boxes all
19#r over the room and must place them on the boxes place. to move a box
20#r you must push it. you can only push a box if it's way is clear with
21#r no wall or other box on the way (you are not that strong).
22#r
23#r MOVING AROUND
24#r h or <left-arrow>  - move left
25#r j or <down-arrow>  - move down
26#r k or <up-arrow>    - move up
27#r l or <right-arrow> - move right
28#r
29#r ACTORS
30#r % wall
31#r o box
32#r . box place
33#r O box placed right
34#r @ you
35#r ! you over a box place
36#r
37#r COMMANDS
38#r :q   quit
39#r :r   restart level
40#r :z   refresh screen
41#r :gN  go to level N
42#r
43#r RUNNING
44#r prompt$ ./sokoban.sed<enter>
45#r <enter>
46#r 1
47#r now just move! (:q quits)
48#r
49#r DETAILS
50#r it's all written in SED, so we've got some limitations:
51#r - as a line-oriented editor, you MUST hit <ENTER> after *any* move.
52#r   yes, that sucks. but you can accumulate various movements and hit
53#r   <ENTER> just once.
54#r - when you run sokoban.sed, you must first press any key to feed SED
55#r   and then you'll see the welcome message.
56#r - the text you type in, is printed directly on the screen, so
57#r   there's no way to clear it on this sed script. screen control
58#r   chars can do it, but i'm trying to avoid them for now.
59#r - these #r comments is because vim syntax doesn't handle sed
60#r   comments very well
61#r
62#r and always remember, it's cool because it's SED. if you don't like it
63#r you can try xsokoban instead <http://www.cs.cornell.edu/andru/xsokoban.html>
64#r
65#r CHANGES
66#r 20020315 v0.0 debut release
67#r 2002032? v0.1 clear screen, download note, fancy victory, sound ^G, lvl0
68#r               fixed * on map bug, added :g, :r and :z commands
69#r               pseudo-functions (now it's faster!)
70#r (gritter)     Replaced proprietary GNU \+, \?, and \| RE constructs with
71#r               portable ones; indenting changes.
72
73#r skip functions
74b zero
75
76#r function welcome
77:welcome
78i\
79       Welcome to the SED Sokoban\
80\
81Please select a level to begin [1-90]:
82d
83
84#r function loadmap
85:loadmap
86
87#r clear screen
88i\
89
90
91  /^0$/{s/.*/\
92SED Sokoban - LEVEL 0 (victory test)\
93\
94     %%%%%            \
95     %@o.%            \
96     %%%%%            \
97/; b endmap
98}
99  /^1$/{s/.*/\
100SED Sokoban - LEVEL 1\
101\
102     %%%%%            \
103     %   %            \
104     %o  %            \
105   %%%  o%%           \
106   %  o o %           \
107 %%% % %% %   %%%%%%  \
108 %   % %% %%%%%  ..%  \
109 % o  o          ..%  \
110 %%%%% %%% %@%%  ..%  \
111     %     %%%%%%%%%  \
112     %%%%%%%          \
113/; b endmap
114}
115  /^2$/{s/.*/\
116SED Sokoban - LEVEL 2\
117\
118 %%%%%%%%%%%%         \
119 %..  %     %%%       \
120 %..  % o  o  %       \
121 %..  %o%%%%  %       \
122 %..    @ %%  %       \
123 %..  % %  o %%       \
124 %%%%%% %%o o %       \
125   % o  o o o %       \
126   %    %     %       \
127   %%%%%%%%%%%%       \
128/; b endmap
129}
130  /^3$/{s/.*/\
131SED Sokoban - LEVEL 3\
132\
133         %%%%%%%%     \
134         %     @%     \
135         % o%o %%     \
136         % o  o%      \
137         %%o o %      \
138 %%%%%%%%% o % %%%    \
139 %....  %% o  o  %    \
140 %%...    o  o   %    \
141 %....  %%%%%%%%%%    \
142 %%%%%%%%             \
143/; b endmap
144}
145  /^4$/{s/.*/\
146SED Sokoban - LEVEL 4\
147\
148            %%%%%%%%  \
149            %  ....%  \
150 %%%%%%%%%%%%  ....%  \
151 %    %  o o   ....%  \
152 % ooo%o  o %  ....%  \
153 %  o     o %  ....%  \
154 % oo %o o o%%%%%%%%  \
155 %  o %     %         \
156 %% %%%%%%%%%         \
157 %    %    %%         \
158 %     o   %%         \
159 %  oo%oo  @%         \
160 %    %    %%         \
161 %%%%%%%%%%%          \
162/; b endmap
163}
164  /^5$/{s/.*/\
165SED Sokoban - LEVEL 5\
166\
167         %%%%%        \
168         %   %%%%%    \
169         % %o%%  %    \
170         %     o %    \
171 %%%%%%%%% %%%   %    \
172 %....  %% o  o%%%    \
173 %....    o oo %%     \
174 %....  %%o  o @%     \
175 %%%%%%%%%  o  %%     \
176         % o o  %     \
177         %%% %% %     \
178           %    %     \
179           %%%%%%     \
180/; b endmap
181}
182  /^6$/{s/.*/\
183SED Sokoban - LEVEL 6\
184\
185 %%%%%%  %%%          \
186 %..  % %%@%%         \
187 %..  %%%   %         \
188 %..     oo %         \
189 %..  % % o %         \
190 %..%%% % o %         \
191 %%%% o %o  %         \
192    %  o% o %         \
193    % o  o  %         \
194    %  %%   %         \
195    %%%%%%%%%         \
196/; b endmap
197}
198  /^7$/{s/.*/\
199SED Sokoban - LEVEL 7\
200\
201        %%%%%         \
202  %%%%%%%   %%        \
203 %% % @%% oo %        \
204 %    o      %        \
205 %  o  %%%   %        \
206 %%% %%%%%o%%%        \
207 % o  %%% ..%         \
208 % o o o ...%         \
209 %    %%%...%         \
210 % oo % %...%         \
211 %  %%% %%%%%         \
212 %%%%                 \
213/; b endmap
214}
215  /^8$/{s/.*/\
216SED Sokoban - LEVEL 8\
217\
218   %%%%               \
219   %  %%%%%%%%%%%     \
220   %    o   o o %     \
221   % o% o %  o  %     \
222   %  o o  %    %     \
223 %%% o% %  %%%% %     \
224 %@%o o o  %%   %     \
225 %    o %o%   % %     \
226 %   o    o o o %     \
227 %%%%%  %%%%%%%%%     \
228   %      %           \
229   %      %           \
230   %......%           \
231   %......%           \
232   %......%           \
233   %%%%%%%%           \
234/; b endmap
235}
236  /^9$/{s/.*/\
237SED Sokoban - LEVEL 9\
238\
239           %%%%%%%    \
240           %  ...%    \
241       %%%%%  ...%    \
242       %      . .%    \
243       %  %%  ...%    \
244       %% %%  ...%    \
245      %%% %%%%%%%%    \
246      % ooo %%        \
247  %%%%%  o o %%%%%    \
248 %%   %o o   %   %    \
249 %@ o  o    o  o %    \
250 %%%%%% oo o %%%%%    \
251      %      %        \
252      %%%%%%%%        \
253/; b endmap
254}
255  /^10$/{s/.*/\
256SED Sokoban - LEVEL 10\
257\
258  %%%  %%%%%%%%%%%%%  \
259 %%@%%%%       %   %  \
260 % oo   oo  o o ...%  \
261 %  ooo%    o  %...%  \
262 % o   % oo oo %...%  \
263 %%%   %  o    %...%  \
264 %     % o o o %...%  \
265 %    %%%%%% %%%...%  \
266 %% %  %  o o  %...%  \
267 %  %% % oo o o%%..%  \
268 % ..% %  o      %.%  \
269 % ..% % ooo ooo %.%  \
270 %%%%% %       % %.%  \
271     % %%%%%%%%% %.%  \
272     %           %.%  \
273     %%%%%%%%%%%%%%%  \
274/; b endmap
275}
276  /^11$/{s/.*/\
277SED Sokoban - LEVEL 11\
278\
279           %%%%       \
280      %%%% %  %       \
281    %%% @%%%o %       \
282   %%      o  %       \
283  %%  o oo%% %%       \
284  %  %o%%     %       \
285  % % o oo % %%%      \
286  %   o %  % o %%%%%  \
287 %%%%    %  oo %   %  \
288 %%%% %% o         %  \
289 %.    %%%  %%%%%%%%  \
290 %.. ..% %%%%         \
291 %...%.%              \
292 %.....%              \
293 %%%%%%%              \
294/; b endmap
295}
296  /^12$/{s/.*/\
297SED Sokoban - LEVEL 12\
298\
299 %%%%%%%%%%%%%%%%     \
300 %              %     \
301 % % %%%%%%     %     \
302 % %  o o o o%  %     \
303 % %   o@o   %% %%    \
304 % %  o o o%%%...%    \
305 % %   o o  %%...%    \
306 % %%%ooo o %%...%    \
307 %     % %% %%...%    \
308 %%%%%   %% %%...%    \
309     %%%%%     %%%    \
310         %     %      \
311         %%%%%%%      \
312/; b endmap
313}
314  /^13$/{s/.*/\
315SED Sokoban - LEVEL 13\
316\
317    %%%%%%%%%         \
318   %%   %%  %%%%%     \
319 %%%     %  %    %%%  \
320 %  o %o %  %  ... %  \
321 % % o%@o%% % %.%. %  \
322 %  % %o  %    . . %  \
323 % o    o % % %.%. %  \
324 %   %%  %%o o . . %  \
325 % o %   %  %o%.%. %  \
326 %% o  o   o  o... %  \
327  %o %%%%%%    %%  %  \
328  %  %    %%%%%%%%%%  \
329  %%%%                \
330/; b endmap
331}
332  /^14$/{s/.*/\
333SED Sokoban - LEVEL 14\
334\
335        %%%%%%%       \
336  %%%%%%%     %       \
337  %     % o@o %       \
338  %oo %   %%%%%%%%%   \
339  % %%%......%%   %   \
340  %   o......%% % %   \
341  % %%%......     %   \
342 %%   %%%% %%% %o%%   \
343 %  %o   %  o  % %    \
344 %  o ooo  % o%% %    \
345 %   o o %%%oo % %    \
346 %%%%%     o   % %    \
347     %%% %%%   % %    \
348       %     %   %    \
349       %%%%%%%%  %    \
350              %%%%    \
351/; b endmap
352}
353  /^15$/{s/.*/\
354SED Sokoban - LEVEL 15\
355\
356    %%%%%%%%          \
357    %   %  %          \
358    %  o   %          \
359  %%% %o   %%%%       \
360  %  o  %%o   %       \
361  %  % @ o % o%       \
362  %  %      o %%%%    \
363  %% %%%%o%%     %    \
364  % o%.....% %   %    \
365  %  o..OO. o% %%%    \
366 %%  %.....%   %      \
367 %   %%% %%%%%%%      \
368 % oo  %  %           \
369 %  %     %           \
370 %%%%%%   %           \
371      %%%%%           \
372/; b endmap
373}
374  /^16$/{s/.*/\
375SED Sokoban - LEVEL 16\
376\
377 %%%%%                \
378 %   %%               \
379 %    %  %%%%         \
380 % o  %%%%  %         \
381 %  oo o   o%         \
382 %%%@ %o    %%        \
383  %  %%  o o %%       \
384  % o  %% %% .%       \
385  %  %o%%o  %.%       \
386  %%%   o..%%.%       \
387   %    %.O...%       \
388   % oo %.....%       \
389   %  %%%%%%%%%       \
390   %  %               \
391   %%%%               \
392/; b endmap
393}
394  /^17$/{s/.*/\
395SED Sokoban - LEVEL 17\
396\
397    %%%%%%%%%%        \
398    %..  %   %        \
399    %..      %        \
400    %..  %  %%%%      \
401   %%%%%%%  %  %%     \
402   %            %     \
403   %  %  %%  %  %     \
404 %%%% %%  %%%% %%     \
405 %  o  %%%%% %  %     \
406 % % o  o  % o  %     \
407 % @o  o   %   %%     \
408 %%%% %% %%%%%%%      \
409    %    %            \
410    %%%%%%            \
411/; b endmap
412}
413  /^18$/{s/.*/\
414SED Sokoban - LEVEL 18\
415\
416      %%%%%%%%%%%     \
417      %  .  %   %     \
418      % %.    @ %     \
419  %%%%% %%..% %%%%    \
420 %%  % ..%%%     %%%  \
421 % o %...   o %  o %  \
422 %    .. %%  %% %% %  \
423 %%%%o%%o% o %   % %  \
424   %% %    %o oo % %  \
425   %  o % %  % o%% %  \
426   %               %  \
427   %  %%%%%%%%%%%  %  \
428   %%%%         %%%%  \
429/; b endmap
430}
431  /^19$/{s/.*/\
432SED Sokoban - LEVEL 19\
433\
434   %%%%%%             \
435   %   @%%%%          \
436 %%%%% o   %          \
437 %   %%    %%%%       \
438 % o %  %%    %       \
439 % o %  %%%%% %       \
440 %% o  o    % %       \
441 %% o o %%% % %       \
442 %% %  o  % % %       \
443 %% % %o%   % %       \
444 %% %%%   % % %%%%%%  \
445 %  o  %%%% % %....%  \
446 %    o    o   ..%.%  \
447 %%%%o  o% o   ....%  \
448 %       %  %% ....%  \
449 %%%%%%%%%%%%%%%%%%%  \
450/; b endmap
451}
452  /^20$/{s/.*/\
453SED Sokoban - LEVEL 20\
454\
455     %%%%%%%%%%       \
456 %%%%%        %%%%    \
457 %     %   o  %@ %    \
458 % %%%%%%%o%%%%  %%%  \
459 % %    %% %  %o ..%  \
460 % % o     %  %  %.%  \
461 % % o  %     %o ..%  \
462 % %  %%% %%     %.%  \
463 % %%%  %  %  %o ..%  \
464 % %    %  %%%%  %.%  \
465 % %o   o  o  %o ..%  \
466 %    o % o o %  %.%  \
467 %%%% o%%%    %o ..%  \
468    %    oo %%%....%  \
469    %      %% %%%%%%  \
470    %%%%%%%%          \
471/; b endmap
472}
473  /^21$/{s/.*/\
474SED Sokoban - LEVEL 21\
475\
476 %%%%%%%%%            \
477 %       %            \
478 %       %%%%         \
479 %% %%%% %  %         \
480 %% %@%%    %         \
481 % ooo o  oo%         \
482 %  % %% o  %         \
483 %  % %%  o %%%%      \
484 %%%%  ooo o%  %      \
485  %   %%   ....%      \
486  % %   % %.. .%      \
487  %   % % %%...%      \
488  %%%%% o  %...%      \
489      %%   %%%%%      \
490       %%%%%          \
491/; b endmap
492}
493  /^22$/{s/.*/\
494SED Sokoban - LEVEL 22\
495\
496 %%%%%%     %%%%      \
497 %    %%%%%%%  %%%%%  \
498 %   o%  %  o  %   %  \
499 %  o  o  o % o o  %  \
500 %%o o   % @% o    %  \
501 %  o %%%%%%%%%%% %%  \
502 % %   %.......% o%   \
503 % %%  % ......%  %   \
504 % %   o........o %   \
505 % % o %.... ..%  %   \
506 %  o o%%%%o%%%% o%   \
507 % o   %%% o   o  %%  \
508 % o     o o  o    %  \
509 %% %%%%%% o %%%%% %  \
510 %         %       %  \
511 %%%%%%%%%%%%%%%%%%%  \
512/; b endmap
513}
514  /^23$/{s/.*/\
515SED Sokoban - LEVEL 23\
516\
517     %%%%%%%          \
518     %  %  %%%%       \
519 %%%%% o%o %  %%      \
520 %.. %  %  %   %      \
521 %.. % o%o %  o%%%%   \
522 %.  %     %o  %  %   \
523 %..   o%  % o    %   \
524 %..@%  %o %o  %  %   \
525 %.. % o%     o%  %   \
526 %.. %  %oo%o  %  %%  \
527 %.. % o%  %  o%o  %  \
528 %.. %  %  %   %   %  \
529 %%. %%%%  %%%%%   %  \
530  %%%%  %%%%   %%%%%  \
531/; b endmap
532}
533  /^24$/{s/.*/\
534SED Sokoban - LEVEL 24\
535\
536 %%%%%%%%%%%%%%%      \
537 %..........  .%%%%   \
538 %..........oo.%  %   \
539 %%%%%%%%%%%o %   %%  \
540 %      o  o     o %  \
541 %% %%%%   %  o %  %  \
542 %      %   %%  % %%  \
543 %  o%  % %%  %%% %%  \
544 % o %o%%%    %%% %%  \
545 %%%  o %  %  %%% %%  \
546 %%%    o %% %  % %%  \
547  % o  %  o  o o   %  \
548  %  o  o%ooo  %   %  \
549  %  %  o      %%%%%  \
550  % @%%  %  %  %      \
551  %%%%%%%%%%%%%%      \
552/; b endmap
553}
554  /^25$/{s/.*/\
555SED Sokoban - LEVEL 25\
556\
557 %%%%                 \
558 %  %%%%%%%%%%%%%%    \
559 %  %   ..%......%    \
560 %  % % %%%%% ...%    \
561 %%o%    ........%    \
562 %   %%o%%%%%%  %%%%  \
563 % o %     %%%%%%@ %  \
564 %%o % o   %%%%%%  %  \
565 %  o %ooo%%       %  \
566 %      %    %o%o%%%  \
567 % %%%% %ooooo    %   \
568 % %    o     %   %   \
569 % %   %%        %%%  \
570 % %%%%%%o%%%%%% o %  \
571 %        %    %   %  \
572 %%%%%%%%%%    %%%%%  \
573/; b endmap
574}
575  /^26$/{s/.*/\
576SED Sokoban - LEVEL 26\
577\
578  %%%%%%%             \
579  %  %  %%%%%         \
580 %%  %  %...%%%       \
581 %  o%  %...  %       \
582 % o %oo ...  %       \
583 %  o%  %... .%       \
584 %   % o%%%%%%%%      \
585 %%o       o o %      \
586 %%  %  oo %   %      \
587  %%%%%%  %%oo@%      \
588       %      %%      \
589       %%%%%%%%       \
590/; b endmap
591}
592  /^27$/{s/.*/\
593SED Sokoban - LEVEL 27\
594\
595  %%%%%%%%%%%%%%%%%   \
596  %...   %    %   %%  \
597 %%.....  o%% % %o %  \
598 %......%  o  %    %  \
599 %......%  %  % %  %  \
600 %%%%%%%%% o  o o  %  \
601   %     %o%%o %%o%%  \
602  %%   o    % o    %  \
603  %  %% %%% %  %%o %  \
604  % o oo     o  o  %  \
605  % o    o%%o %%%%%%  \
606  %%%%%%%  @ %%       \
607        %%%%%%        \
608/; b endmap
609}
610  /^28$/{s/.*/\
611SED Sokoban - LEVEL 28\
612\
613          %%%%%       \
614      %%%%%   %       \
615     %% o  o  %%%%    \
616 %%%%% o  o o %%.%    \
617 %       oo  %%..%    \
618 %  %%%%%% %%%.. %    \
619 %% %  %    %... %    \
620 % o   %    %... %    \
621 %@ %o %% %%%%...%    \
622 %%%%  o oo  %%..%    \
623    %%  o o  o...%    \
624     % oo  o %  .%    \
625     %   o o  %%%%    \
626     %%%%%%   %       \
627          %%%%%       \
628/; b endmap
629}
630  /^29$/{s/.*/\
631SED Sokoban - LEVEL 29\
632\
633 %%%%%                \
634 %   %%               \
635 % o  %%%%%%%%%       \
636 %% % %       %%%%%%  \
637 %% %   o%o%@  %   %  \
638 %  %      o %   o %  \
639 %  %%% %%%%%%%%% %%  \
640 %  %% ..O..... % %%  \
641 %% %% O.O..O.O % %%  \
642 % o%%%%%%%%%% %%o %  \
643 %  o   o  o    o  %  \
644 %  %   %   %   %  %  \
645 %%%%%%%%%%%%%%%%%%%  \
646/; b endmap
647}
648  /^30$/{s/.*/\
649SED Sokoban - LEVEL 30\
650\
651        %%%%%%%%%%%   \
652        %   %     %   \
653 %%%%%  %     o o %   \
654 %   %%%%% o%% % %%   \
655 % o %%   % %% o  %   \
656 % o  @oo % %%ooo %   \
657 %% %%%   % %%    %   \
658 %% %   %%% %%%%%o%   \
659 %% %     o  %....%   \
660 %  %%% %% o %....%%  \
661 % o   o %   %..o. %  \
662 %  %% o %  %%.... %  \
663 %%%%%   %%%%%%...%%  \
664     %%%%%    %%%%%   \
665/; b endmap
666}
667  /^31$/{s/.*/\
668SED Sokoban - LEVEL 31\
669\
670   %%%%               \
671   %  %%%%%%%%%       \
672  %%  %%  %   %       \
673  %  o% o@o   %%%%    \
674  %o  o  % o o%  %%   \
675 %%  o%% %o o     %   \
676 %  %  % %   ooo  %   \
677 % o    o  o%% %%%%   \
678 % o o %o%  %  %      \
679 %%  %%%  %%%o %      \
680  %  %....     %      \
681  %%%%......%%%%      \
682    %....%%%%         \
683    %...%%            \
684    %...%             \
685    %%%%%             \
686/; b endmap
687}
688  /^32$/{s/.*/\
689SED Sokoban - LEVEL 32\
690\
691       %%%%           \
692   %%%%%  %           \
693  %%     o%           \
694 %% o  %% %%%         \
695 %@o o % o  %         \
696 %%%% %%   o%         \
697  %....%o o %         \
698  %....%   o%         \
699  %....  oo %%        \
700  %... % o   %        \
701  %%%%%%o o  %        \
702       %   %%%        \
703       %o %%%         \
704       %  %           \
705       %%%%           \
706/; b endmap
707}
708  /^33$/{s/.*/\
709SED Sokoban - LEVEL 33\
710\
711  %%%%%%%%%%%         \
712  %     %%  %         \
713  %   o   o %         \
714 %%%% %% oo %         \
715 %   o %    %         \
716 % ooo % %%%%         \
717 %   % % o %%         \
718 %  %  %  o %         \
719 % o% o%    %         \
720 %   ..% %%%%         \
721 %%%%.. o %@%         \
722 %.....% o% %         \
723 %%....%  o %         \
724  %%..%%    %         \
725   %%%%%%%%%%         \
726/; b endmap
727}
728  /^34$/{s/.*/\
729SED Sokoban - LEVEL 34\
730\
731  %%%%%%%%%           \
732  %....   %%          \
733  %.%.%  o %%         \
734 %%....% % @%%        \
735 % ....%  %  %%       \
736 %     %o %%o %       \
737 %% %%%  o    %       \
738  %o  o o o%  %       \
739  % %  o o %% %       \
740  %  %%%  %%  %       \
741  %    %% %% %%       \
742  %  o %  o  %        \
743  %%%o o   %%%        \
744    %  %%%%%          \
745    %%%%              \
746/; b endmap
747}
748  /^35$/{s/.*/\
749SED Sokoban - LEVEL 35\
750\
751 %%%%%%%%%%%% %%%%%%  \
752 %   %    % %%%....%  \
753 %   oo%   @  .....%  \
754 %   % %%%   % ....%  \
755 %% %% %%%  %  ....%  \
756  % o o     % % %%%%  \
757  %  o o%%  %      %  \
758 %%%% %  %%%% % %% %  \
759 %  % %o   %% %    %  \
760 % o  o  % %% %   %%  \
761 % % o o    % %   %   \
762 %  o %% %% % %%%%%   \
763 % oo     oo  %       \
764 %% %% %%% o  %       \
765  %    % %    %       \
766  %%%%%% %%%%%%       \
767/; b endmap
768}
769  /^36$/{s/.*/\
770SED Sokoban - LEVEL 36\
771\
772             %%%%%    \
773 %%%%%  %%%%%%   %    \
774 %   %%%%  o o o %    \
775 % o   %% %% %%  %%   \
776 %   o o     o  o %   \
777 %%% o  %% %%     %%  \
778   % %%%%% %%%%%oo %  \
779  %%o%%%%% @%%     %  \
780  % o  %%%o%%% o  %%  \
781  % o  %   %%%  %%%   \
782  % oo o %   oo %     \
783  %     %   %%  %     \
784  %%%%%%%.. .%%%      \
785     %.........%      \
786     %.........%      \
787     %%%%%%%%%%%      \
788/; b endmap
789}
790  /^37$/{s/.*/\
791SED Sokoban - LEVEL 37\
792\
793 %%%%%%%%%%%          \
794 %......   %%%%%%%%%  \
795 %......   %  %%   %  \
796 %..%%% o    o     %  \
797 %... o o %   %%   %  \
798 %...%o%%%%%    %  %  \
799 %%%    %   %o  %o %  \
800   %  oo o o  o%%  %  \
801   %  o   %o%o %%o %  \
802   %%% %% %    %%  %  \
803    %  o o %% %%%%%%  \
804    %    o  o  %      \
805    %%   % %   %      \
806     %%%%%@%%%%%      \
807         %%%          \
808/; b endmap
809}
810  /^38$/{s/.*/\
811SED Sokoban - LEVEL 38\
812\
813       %%%%           \
814 %%%%%%% @%           \
815 %     o  %           \
816 %   o%% o%           \
817 %%o%...% %           \
818  % o...  %           \
819  % %. .% %%          \
820  %   % %o %          \
821  %o  o    %          \
822  %  %%%%%%%          \
823  %%%%                \
824/; b endmap
825}
826  /^39$/{s/.*/\
827SED Sokoban - LEVEL 39\
828\
829              %%%%%%  \
830  %%%%%%%%%%%%%....%  \
831 %%   %%     %%....%  \
832 %  oo%%  o @%%....%  \
833 %      oo o%  ....%  \
834 %  o %% oo % % ...%  \
835 %  o %% o  %  ....%  \
836 %% %%%%% %%% %%.%%%  \
837 %%   o  o %%   .  %  \
838 % o%%%  % %%%%% %%%  \
839 %   o   %       %    \
840 %  o %o o o%%%  %    \
841 % ooo% o   % %%%%    \
842 %    %  oo %         \
843 %%%%%%   %%%         \
844      %%%%%           \
845/; b endmap
846}
847  /^40$/{s/.*/\
848SED Sokoban - LEVEL 40\
849\
850     %%%%%%%%%%%%     \
851     %          %%    \
852     %  % %oo o  %    \
853     %o %o%  %% @%    \
854    %% %% % o % %%    \
855    %   o %o  % %     \
856    %   % o   % %     \
857    %% o o   %% %     \
858    %  %  %%  o %     \
859    %    %% oo% %     \
860 %%%%%%oo   %   %     \
861 %....%  %%%%%%%%     \
862 %.%... %%            \
863 %....   %            \
864 %....   %            \
865 %%%%%%%%%            \
866/; b endmap
867}
868  /^41$/{s/.*/\
869SED Sokoban - LEVEL 41\
870\
871            %%%%%     \
872           %%   %%    \
873          %%     %    \
874         %%  oo  %    \
875        %% oo  o %    \
876        % o    o %    \
877 %%%%   %   oo %%%%%  \
878 %  %%%%%%%% %%    %  \
879 %.            ooo@%  \
880 %.% %%%%%%% %%   %%  \
881 %.% %%%%%%%. %o o%%  \
882 %........... %    %  \
883 %%%%%%%%%%%%%%  o %  \
884              %%  %%  \
885               %%%%   \
886/; b endmap
887}
888  /^42$/{s/.*/\
889SED Sokoban - LEVEL 42\
890\
891      %%%%%%%%        \
892   %%%%      %%%%%%   \
893   %    %% o o   @%   \
894   % %% %%o%o o o%%   \
895 %%% ......%  oo %%   \
896 %   ......%  %   %   \
897 % % ......%o  o  %   \
898 % %o...... oo% o %   \
899 %   %%% %%%o  o %%   \
900 %%%  o  o  o  o %    \
901   %  o  o  o  o %    \
902   %%%%%%   %%%%%%    \
903        %%%%%         \
904/; b endmap
905}
906  /^43$/{s/.*/\
907SED Sokoban - LEVEL 43\
908\
909         %%%%%%%      \
910     %%%%%  %  %%%%   \
911     %   %   o    %   \
912  %%%% %oo %% %%  %   \
913 %%      % %  %% %%%  \
914 %  %%% o%o  o  o  %  \
915 %...    % %%  %   %  \
916 %...%    @ % %%% %%  \
917 %...%  %%%  o  o  %  \
918 %%%%%%%% %%   %   %  \
919           %%%%%%%%%  \
920/; b endmap
921}
922  /^44$/{s/.*/\
923SED Sokoban - LEVEL 44\
924\
925  %%%%%               \
926  %   %               \
927  % % %%%%%%%         \
928  %      o@%%%%%%     \
929  % o %%o %%%   %     \
930  % %%%% o    o %     \
931  % %%%%% %  %o %%%%  \
932 %%  %%%% %%o      %  \
933 %  o%  o  % %% %% %  \
934 %         % %...% %  \
935 %%%%%%  %%%  ...  %  \
936      %%%% % %...% %  \
937           % %%% % %  \
938           %       %  \
939           %%%%%%%%%  \
940/; b endmap
941}
942  /^45$/{s/.*/\
943SED Sokoban - LEVEL 45\
944\
945 %%%%% %%%%           \
946 %...% %  %%%%        \
947 %...%%%  o  %        \
948 %....%% o  o%%%      \
949 %%....%%   o  %      \
950 %%%... %% o o %      \
951 % %%    %  o  %      \
952 %  %% % %%% %%%%     \
953 % o % %o  o    %     \
954 %  o @ o    o  %     \
955 %   % o oo o %%%     \
956 %  %%%%%%  %%%       \
957 % %%    %%%%         \
958 %%%                  \
959/; b endmap
960}
961  /^46$/{s/.*/\
962SED Sokoban - LEVEL 46\
963\
964 %%%%%%%%%%           \
965 %        %%%%        \
966 % %%%%%% %  %%       \
967 % % o o o  o %       \
968 %       %o   %       \
969 %%%o  oo%  %%%       \
970   %  %% % o%%        \
971   %%o%   o @%        \
972    %  o o %%%        \
973    % %   o  %        \
974    % %%   % %        \
975   %%  %%%%% %        \
976   %         %        \
977   %.......%%%        \
978   %.......%          \
979   %%%%%%%%%          \
980/; b endmap
981}
982  /^47$/{s/.*/\
983SED Sokoban - LEVEL 47\
984\
985          %%%%        \
986  %%%%%%%%%  %%       \
987 %%  o      o %%%%%   \
988 %   %% %%   %%...%   \
989 % %oo o oo%o%%...%   \
990 % %   @   %   ...%   \
991 %  o% %%%oo   ...%   \
992 % o  oo  o %%....%   \
993 %%%o       %%%%%%%   \
994   %  %%%%%%%         \
995   %%%%               \
996/; b endmap
997}
998  /^48$/{s/.*/\
999SED Sokoban - LEVEL 48\
1000\
1001   %%%%%%%%%          \
1002   %O.O%O.O%          \
1003   %.O.O.O.%          \
1004   %O.O.O.O%          \
1005   %.O.O.O.%          \
1006   %O.O.O.O%          \
1007   %%%   %%%          \
1008     %   %            \
1009 %%%%%% %%%%%%        \
1010 %           %        \
1011 % o o o o o %        \
1012 %% o o o o %%        \
1013  %o o o o o%         \
1014  %   o@o   %         \
1015  %  %%%%%  %         \
1016  %%%%   %%%%         \
1017/; b endmap
1018}
1019  /^49$/{s/.*/\
1020SED Sokoban - LEVEL 49\
1021\
1022        %%%%          \
1023        %  %%         \
1024        %   %%        \
1025        % oo %%       \
1026      %%%o  o %%      \
1027   %%%%    o   %      \
1028 %%%  % %%%%%  %      \
1029 %    % %....o %      \
1030 % %   o ....% %      \
1031 %  o % %.O..% %      \
1032 %%%  %%%% %%% %      \
1033   %%%% @o  %%o%%     \
1034      %%% o     %     \
1035        %  %%   %     \
1036        %%%%%%%%%     \
1037/; b endmap
1038}
1039  /^50$/{s/.*/\
1040SED Sokoban - LEVEL 50\
1041\
1042       %%%%%%%%%%%%   \
1043      %%..    %   %   \
1044     %%..O o    o %   \
1045    %%..O.% % % o%%   \
1046    %..O.% % % o  %   \
1047 %%%%...%  %    % %   \
1048 %  %% %          %   \
1049 % @o o %%%  %   %%   \
1050 % o   o   % %   %    \
1051 %%%oo   % % % % %    \
1052   %   o   % % %%%%%  \
1053   % o% %%%%%      %  \
1054   %o   %   %    % %  \
1055   %  %%%   %%     %  \
1056   %  %      %    %%  \
1057   %%%%      %%%%%%   \
1058/; b endmap
1059}
1060  /^51$/{s/.*/\
1061SED Sokoban - LEVEL 51\
1062\
1063  %%%%%%%%%           \
1064  %       %           \
1065  % o oo o%           \
1066 %%% %  o %           \
1067 %.%   oo %%          \
1068 %.%%%   o %          \
1069 %.%. o %% %%%%       \
1070 %...  o%% o  %       \
1071 %...o   o    %       \
1072 %..%%%o%%% %@%       \
1073 %..% %     %%%       \
1074 %%%% %%%%%%%         \
1075/; b endmap
1076}
1077  /^52$/{s/.*/\
1078SED Sokoban - LEVEL 52\
1079\
1080            %%%%%%%%  \
1081            %......%  \
1082    %%%%    %......%  \
1083    %  %%%%%%%%%...%  \
1084    % o   o    %...%  \
1085    %  % % % % %   %  \
1086 %%%%% % % %@% %   %  \
1087 %   % %%% %%% %% %%  \
1088 %    o % o o o % %   \
1089 % ooo  o   %     %   \
1090 %   % %%%o%%%o%% %   \
1091 %%% %  o   %     %   \
1092  %% o  % o o o %%%   \
1093  %  % %%% %%% %%     \
1094  % o          %      \
1095  %  %%%%%%%%%%%      \
1096  %%%%                \
1097/; b endmap
1098}
1099  /^53$/{s/.*/\
1100SED Sokoban - LEVEL 53\
1101\
1102 %%%%%%%%%%%%%%%%%%   \
1103 %                %%  \
1104 % o%   o %%  o    %  \
1105 %    o%%%    % oo %  \
1106 %.%%%     o o %%  %% \
1107 %...%  %  %    %o  % \
1108 %..%%oo%%%% o  %   % \
1109 %...%      o %%  %%% \
1110 %...o  %%%  %    % % \
1111 %%..  o%  %%   %%@ % \
1112  %%.%              % \
1113   %%%%%%%%%%%%%%%%%% \
1114/; b endmap
1115}
1116  /^54$/{s/.*/\
1117SED Sokoban - LEVEL 54\
1118\
1119 %%%%%%%%%%%%%%%%%%%% \
1120 %   %    %   %   %@% \
1121 % o      o   o   % % \
1122 %% %%%..%% %%%     % \
1123 %   %....%o%  o%%% % \
1124 % o %....%  o  o o % \
1125 %   %....% % % o o % \
1126 %   %%..%%   %o%   % \
1127 %%o%%    %%  %  %o%% \
1128 %   o  o     %  %  % \
1129 %   %    %   %     % \
1130 %%%%%%%%%%%%%%%%%%%% \
1131/; b endmap
1132}
1133  /^55$/{s/.*/\
1134SED Sokoban - LEVEL 55\
1135\
1136 %%%%%%%%%%%%%%%%%%%% \
1137 %    @%%      %   %% \
1138 %    %%    o    o %% \
1139 %  %%%....% % %  %%% \
1140 %   %....% % % o   % \
1141 %%% %...%  %       % \
1142 %%  %%.%     o   o % \
1143 %%  o o %%%  % % %%% \
1144 %% o       % % o   % \
1145 %%%% o  o% % % % o % \
1146 %%%%         % %  %% \
1147 %%%%%%%%%%%%%%%%%%%% \
1148/; b endmap
1149}
1150  /^56$/{s/.*/\
1151SED Sokoban - LEVEL 56\
1152\
1153 %%%%%%%%%%%%%%%%%%%% \
1154 %  %  %%    %   @%%% \
1155 %%    o    % o%%%  % \
1156 %%o% o %%o% o o    % \
1157 %   o%    o      %%% \
1158 % %%   o %%%  %....% \
1159 % % o% % % % %....%% \
1160 %    o o %  %....%%% \
1161 %%o %%%  o %....%%%% \
1162 %  % o        %%%%%% \
1163 %      % %    %%%%%% \
1164 %%%%%%%%%%%%%%%%%%%% \
1165/; b endmap
1166}
1167  /^57$/{s/.*/\
1168SED Sokoban - LEVEL 57\
1169\
1170 %%%%%%%%%%%%%%%%%%%% \
1171 %@     %%%   %  %  % \
1172 % % %  %  o  o     % \
1173 %%%%%     % o o%o% % \
1174 %.%..%    %%o o    % \
1175 %.....    o   %   %% \
1176 %.....    %%%o%%o%%% \
1177 %.%..%    o    %   % \
1178 %%%%%     %  %o  o % \
1179 %%%%%  %  o    o o % \
1180 %%%%%  %  %  %  %  % \
1181 %%%%%%%%%%%%%%%%%%%% \
1182/; b endmap
1183}
1184  /^58$/{s/.*/\
1185SED Sokoban - LEVEL 58\
1186\
1187 %%%%%%%%%%%%%%%%%%%% \
1188 %%...   %% %    %  % \
1189 %....         o %% % \
1190 %....% % %o%%%o    % \
1191 %...%    %       % % \
1192 %%.%  %o %     o%% % \
1193 %  %  % o o %%%  o % \
1194 %     o  o %  % %% % \
1195 %% % %% %oo% o%  % % \
1196 %  %   o o %      %% \
1197 %    %     %  %   @% \
1198 %%%%%%%%%%%%%%%%%%%% \
1199/; b endmap
1200}
1201  /^59$/{s/.*/\
1202SED Sokoban - LEVEL 59\
1203\
1204 %%%%%%%%%%%%%%%%%%%% \
1205 %   %  %@% %%  %%%%% \
1206 % % %  o    o  %%%%% \
1207 % %    %%%%%% o  %%% \
1208 %   %  %....%  oo  % \
1209 %%o%%o%%....%      % \
1210 %      %....%%o%%o%% \
1211 %  oo  %....%      % \
1212 % o  o  %  %  %%%  % \
1213 %%%%%  o   o    o  % \
1214 %%%%% %    %  %   %% \
1215 %%%%%%%%%%%%%%%%%%%% \
1216/; b endmap
1217}
1218  /^60$/{s/.*/\
1219SED Sokoban - LEVEL 60\
1220\
1221 %%%%%%%%%%%%%%%%%%%% \
1222 % %     %          % \
1223 %       o  %% %%% %% \
1224 %%%%%  %%   o  o   % \
1225 %%..%%  % % o % %  % \
1226 %....  o     %%o% %% \
1227 %....  o%%%%%   %o%% \
1228 %%..% %  %   %  o  % \
1229 %%%.% %  o   o  % @% \
1230 %%  o  o %   %  %%%% \
1231 %%       %%%%%%%%%%% \
1232 %%%%%%%%%%%%%%%%%%%% \
1233/; b endmap
1234}
1235  /^61$/{s/.*/\
1236SED Sokoban - LEVEL 61\
1237\
1238 %%%%%%%%%%%%%%%%%%%% \
1239 %     %%%..%%%     % \
1240 % oo  %%%..%%%  o@ % \
1241 %  % %%......%  o  % \
1242 %     %......%  o  % \
1243 %%%%  %%%..%%%%%%o % \
1244 %   ooo %..%    %  % \
1245 % o%   o  o  oo %o % \
1246 %  %  %% o  %%  %  % \
1247 % o    o %% o    o % \
1248 %  %  %%    %%  %  % \
1249 %%%%%%%%%%%%%%%%%%%% \
1250/; b endmap
1251}
1252  /^62$/{s/.*/\
1253SED Sokoban - LEVEL 62\
1254\
1255 %%%%%%%%%%%%%%%%%%%% \
1256 %    %  % %  %  %  % \
1257 % @% % %% o   o   %% \
1258 %%%% %    %  % o   % \
1259 %    % %% %o %% %% % \
1260 %      o   o   o   % \
1261 %..%%%oo%% o%%o %% % \
1262 %..%.%  % o   o %  % \
1263 %....% oo   %%o %%%% \
1264 %....%  %%%%%      % \
1265 %...%%%        %%  % \
1266 %%%%%%%%%%%%%%%%%%%% \
1267/; b endmap
1268}
1269  /^63$/{s/.*/\
1270SED Sokoban - LEVEL 63\
1271\
1272 %%%%%%%%%%%%%%%%%%%% \
1273 %....%       %  %  % \
1274 %....% % o  o      % \
1275 %.... %%  o% % o%o % \
1276 %...%   o   o%  o  % \
1277 %..%%%%  % o   oo  % \
1278 %      %%%% %%%% %%% \
1279 %        %   %     % \
1280 % %%   %   o % o o % \
1281 % %%    o %% o  o  % \
1282 %     @%     %   % % \
1283 %%%%%%%%%%%%%%%%%%%% \
1284/; b endmap
1285}
1286  /^64$/{s/.*/\
1287SED Sokoban - LEVEL 64\
1288\
1289 %%%%%%%%%%%%%%%%%%%% \
1290 %....%%%           % \
1291 %....%%%%% %  %o% %% \
1292 %....%%%   %o  o   % \
1293 %....%%%    o  %oo%% \
1294 %%  %%%% o%  %o o  % \
1295 %%  %%%%  o  o  %  % \
1296 %@  %%%%o%%%o%% o  % \
1297 %%        %  %  o  % \
1298 %%   %%%  %  o  %%%% \
1299 %%%%%%%%  %  %     % \
1300 %%%%%%%%%%%%%%%%%%%% \
1301/; b endmap
1302}
1303  /^65$/{s/.*/\
1304SED Sokoban - LEVEL 65\
1305\
1306 %%%%%%%%%%%%%%%%%%%% \
1307 %     %     @%...%%% \
1308 %     %      %%...%% \
1309 % % % %%o%% %% ....% \
1310 %   o %   ooo  ....% \
1311 %%%o%%% oo  %%% %%.% \
1312 %     o  %    % %%%% \
1313 %  o  %  %%%  % %  % \
1314 %% %o%%    o  oo   % \
1315 %   o %%   %  % %  % \
1316 %     %    %  %    % \
1317 %%%%%%%%%%%%%%%%%%%% \
1318/; b endmap
1319}
1320  /^66$/{s/.*/\
1321SED Sokoban - LEVEL 66\
1322\
1323 %%%%%%%%%%%%%%%%%%%% \
1324 %     %  %...%@    % \
1325 % %       ....%    % \
1326 %  o  %   %....%   % \
1327 % %%o%%%% %%....%  % \
1328 % o   o  %  %...%  % \
1329 % oo %   %   % oo  % \
1330 %%%  ooo%   oo  o  % \
1331 % o  %  %    % o%  % \
1332 %   o%  %       o  % \
1333 %  %    %    %  %  % \
1334 %%%%%%%%%%%%%%%%%%%% \
1335/; b endmap
1336}
1337  /^67$/{s/.*/\
1338SED Sokoban - LEVEL 67\
1339\
1340 %%%%%%%%%%%%%%%%%%%% \
1341 %%%%%@%%%.%%...%%  % \
1342 %%%%%o  ..%...%    % \
1343 %%%%    ......%  o % \
1344 %%%  o %.....%% % %% \
1345 %%  oo% %%%%%  o o % \
1346 %% o% o    %%  oo  % \
1347 %%  %  %    % o  o % \
1348 %%   oo %%% %o%%   % \
1349 %% o%      o o  o %% \
1350 %%%    %    %    %%% \
1351 %%%%%%%%%%%%%%%%%%%% \
1352/; b endmap
1353}
1354  /^68$/{s/.*/\
1355SED Sokoban - LEVEL 68\
1356\
1357 %%%%%%%%%%%%%%%%%%%% \
1358 %@     %   %       % \
1359 %% %%% %%  %%%% % %% \
1360 %    % %  oo       % \
1361 %  % % % o % o %% %% \
1362 %     o %  %oo %   % \
1363 %  %%%  %      %% %% \
1364 %..%.% o %  o %    % \
1365 %..%.%  o % %% oo  % \
1366 %....%%   oo  o  % % \
1367 %.....%%        %  % \
1368 %%%%%%%%%%%%%%%%%%%% \
1369/; b endmap
1370}
1371  /^69$/{s/.*/\
1372SED Sokoban - LEVEL 69\
1373\
1374 %%%%%%%%%%%%%%%%%%%% \
1375 %  %      %   %   %% \
1376 % o% o o %%...o  o % \
1377 %  o  % %%....% o  % \
1378 % %% o %%....%   o % \
1379 % o    %....%% o   % \
1380 % o%%  %...%       % \
1381 %   ooo%%o%%  %%% %% \
1382 % % %  %   %  %    % \
1383 % o %  o  %%       % \
1384 %    %    %@       % \
1385 %%%%%%%%%%%%%%%%%%%% \
1386/; b endmap
1387}
1388  /^70$/{s/.*/\
1389SED Sokoban - LEVEL 70\
1390\
1391 %%%%%%%%%%%%%%%%%%%% \
1392 %  %  % %    %  %  % \
1393 %   o      o o     % \
1394 %% %  %o%%%o%%  %% % \
1395 %   o     o  %  o  % \
1396 % %%%o%%o%   % o   % \
1397 % %   o o  %%%%%% o% \
1398 % o  oo o  %@%.%...% \
1399 % %     %  % %.%...% \
1400 % %%%%%%%%%% %.....% \
1401 %            %.....% \
1402 %%%%%%%%%%%%%%%%%%%% \
1403/; b endmap
1404}
1405  /^71$/{s/.*/\
1406SED Sokoban - LEVEL 71\
1407\
1408 %%%%%%%%%%%%%%%%%%%% \
1409 %  %     %  %%    %% \
1410 % o%   o %     %%  % \
1411 % o  o  %..%     o % \
1412 % o o  %....%   % %% \
1413 % o%  %......%%% o % \
1414 %   %  %....%  %o  % \
1415 % o  %%%%..%   %   % \
1416 %% o   %% % % o  o%% \
1417 %%% o    o%@o o%   % \
1418 %%%%   %       %   % \
1419 %%%%%%%%%%%%%%%%%%%% \
1420/; b endmap
1421}
1422  /^72$/{s/.*/\
1423SED Sokoban - LEVEL 72\
1424\
1425 %%%%%%%%%%%%%%%%%%%% \
1426 %      ....%    %%%% \
1427 %      ....        % \
1428 % % %%%%%%%%%%     % \
1429 % %o   %      %%%..% \
1430 %  o   %oo%%%   %..% \
1431 % o %%% o   o   %..% \
1432 % o %   o o %  %%..% \
1433 %  %  oo % o %%   %% \
1434 %@%% o%  o  o     %% \
1435 %%       %%   %  %%% \
1436 %%%%%%%%%%%%%%%%%%%% \
1437/; b endmap
1438}
1439  /^73$/{s/.*/\
1440SED Sokoban - LEVEL 73\
1441\
1442 %%%%%%%%%%%%%%%%%%%% \
1443 %        %   %@ %  % \
1444 % oo  %oo% % %  %% % \
1445 %  % o o %oo %     % \
1446 %% %  %  % % %  %  % \
1447 %   %%       %     % \
1448 %   % o %   %   %  % \
1449 % o %o %   %  o %..% \
1450 %%o %  %%%%    %...% \
1451 %  o          %....% \
1452 %   %  %     %.....% \
1453 %%%%%%%%%%%%%%%%%%%% \
1454/; b endmap
1455}
1456  /^74$/{s/.*/\
1457SED Sokoban - LEVEL 74\
1458\
1459 %%%%%%%%%%%%%%%%%%%% \
1460 %     %   %%%%%    % \
1461 %% o  %   %%%%  o  % \
1462 %%%% oo   %..%  %  % \
1463 %  o  o  %%..%%%% %% \
1464 % o   %%%....   oo % \
1465 %  %o%   ....% % o % \
1466 % %  % o ..%%%o%   % \
1467 % %   o %..%   %%  % \
1468 %   o%  %%%%   % o%% \
1469 % %  %    @%      %% \
1470 %%%%%%%%%%%%%%%%%%%% \
1471/; b endmap
1472}
1473  /^75$/{s/.*/\
1474SED Sokoban - LEVEL 75\
1475\
1476 %%%%%%%%%%%%%%%%%%%% \
1477 %   %   %    %   %@% \
1478 %   o  o     % o % % \
1479 %%o% o%%% %    oo% % \
1480 %  %  %.%%%  %o o  % \
1481 %  %o%....%  % %%% % \
1482 % o  %.....%%    % % \
1483 %%o  %.%....%oo o  % \
1484 %  %%%%%%..%% %  % % \
1485 %  o         o %%% % \
1486 %   %   %        % % \
1487 %%%%%%%%%%%%%%%%%%%% \
1488/; b endmap
1489}
1490  /^76$/{s/.*/\
1491SED Sokoban - LEVEL 76\
1492\
1493 %%%%%%%%%%%%%%%%%%%% \
1494 % % % %   %@%%   % % \
1495 %             o    % \
1496 %  %%o% %%%%% o % %% \
1497 %%    %%.....%  %  % \
1498 %%o%%o%.....%%%o%o % \
1499 %   % %%.....%  % %% \
1500 %  o    %%..%%  %  % \
1501 % o %   o   o  ooo % \
1502 %% o  o% %  %  o   % \
1503 %   %%   %  %      % \
1504 %%%%%%%%%%%%%%%%%%%% \
1505/; b endmap
1506}
1507  /^77$/{s/.*/\
1508SED Sokoban - LEVEL 77\
1509\
1510 %%%%%%%%%%%%%%%%%%%% \
1511 %    %%   %    %   % \
1512 %  o  o     %% o   % \
1513 %% %%%%%  .%%%%%% %% \
1514  % %%  %%....%%%% %% \
1515 %% %%o %%%..%%     % \
1516 %      %... .% o o % \
1517 % o %% %% . %%% %%%% \
1518 % % o    %.%% % %    \
1519 % o o %   .%%%% %%   \
1520 % %  %% % %%  %  %%  \
1521 %%%%%%%  o%%o   o %  \
1522       %%      o %@%  \
1523        %  %% %%%%%%  \
1524        %%%%%%%       \
1525/; b endmap
1526}
1527  /^78$/{s/.*/\
1528SED Sokoban - LEVEL 78\
1529\
1530        %%%%%%%%%%%   \
1531        %         %   \
1532        %    o o  %   \
1533 %%%%%% % o %%%%% %   \
1534 %    %%%%% o  %%o%   \
1535 %       o o      %   \
1536 %          %% %% %   \
1537 %    %%@%%%%% %% %   \
1538 %    %%%%   % %% %%  \
1539 %....%      % o   %  \
1540 %....%      %     %  \
1541 %%%%%%      %%%%%%%  \
1542/; b endmap
1543}
1544  /^79$/{s/.*/\
1545SED Sokoban - LEVEL 79\
1546\
1547 %%%%%%%%%%%%%        \
1548 %           %        \
1549 % %%% oo    %        \
1550 %   % o  o  %        \
1551 %  o%%%%o%%%%%%      \
1552 % o %%        %%%%%  \
1553 %  oo o        ...%  \
1554 %%% %% oo%     ...%  \
1555   % %%   %     ...%  \
1556   %      %     ...%  \
1557   %%%@%%%%%%%%%%%%%  \
1558     %%%              \
1559/; b endmap
1560}
1561  /^80$/{s/.*/\
1562SED Sokoban - LEVEL 80\
1563\
1564   %%%%%%%%%%%%%%%%%  \
1565 %%%@%%         ...%  \
1566 %    %         ...%  \
1567 % o  %         ...%  \
1568 % oo %         ...%  \
1569 %% o %%%o%%%%%%%%%%  \
1570  % %%%  o %          \
1571 %%   o  o %          \
1572 %  o %  o %          \
1573 % o  %    %          \
1574 %  o %    %          \
1575 %    %    %          \
1576 %%%%%%%%%%%          \
1577/; b endmap
1578}
1579  /^81$/{s/.*/\
1580SED Sokoban - LEVEL 81\
1581\
1582               %%%%%  \
1583      %%%%%%%%%%   %  \
1584      %        %   %  \
1585      %  o o    oo %  \
1586      % %%%%% %% o %  \
1587      %oo   %o%% o %  \
1588      % %%% % %%o  %  \
1589 %%%%%% %%% o o    %  \
1590 %....        %%   %  \
1591 %....        %%%%%%  \
1592 %....        %       \
1593 %%%%%%%%%%%@%%       \
1594           %%%        \
1595/; b endmap
1596}
1597  /^82$/{s/.*/\
1598SED Sokoban - LEVEL 82\
1599\
1600     %%%%%%           \
1601  %%%%    %           \
1602  %    %% %           \
1603  % o     %           \
1604 %%% %%%% %%%%%%%%    \
1605 %  o   o %%  ...%    \
1606 %   oo oo    ...%    \
1607 %    o  o%%  ...%    \
1608 %%@%% %% %%  ...%    \
1609  %%%  o  %%%%%%%%    \
1610  %   oo  %           \
1611  %    %  %           \
1612  %%%%%%%%%           \
1613/; b endmap
1614}
1615  /^83$/{s/.*/\
1616SED Sokoban - LEVEL 83\
1617\
1618 %%%%%%% %%%%%%%%%    \
1619 %     % %   %%  %    \
1620 % %%% % %   o   %    \
1621 % % o %%%   o   %    \
1622 %   oo      %%o %    \
1623 %    %%%%   %%  %    \
1624 %@%%%%%%%%%%%% %%    \
1625 %%%..    %%%%%o %    \
1626   %..    %%%%   %    \
1627   %..       oo  %    \
1628   %..    %%%% o %    \
1629   %..    %  %   %    \
1630   %%%%%%%%  %%%%%    \
1631/; b endmap
1632}
1633  /^84$/{s/.*/\
1634SED Sokoban - LEVEL 84\
1635\
1636 %%%%%%%              \
1637 %     %%%%%%%%%%     \
1638 %     %    %  %%     \
1639 % o   %   o o  %     \
1640 %  o  %  o %%  %     \
1641 % oo  %%o o    %     \
1642 %% %  %% %%%%%%%     \
1643 %% %  %%    ...%     \
1644 %  %o       ...%     \
1645 %   oo      ...%     \
1646 %     %%@%  ...%     \
1647 %%%%%%%%%%%%%%%%     \
1648/; b endmap
1649}
1650  /^85$/{s/.*/\
1651SED Sokoban - LEVEL 85\
1652\
1653 %%%%%%%%%%%%         \
1654 %      %   %%        \
1655 % o  o   %  %%%%%%   \
1656 %%%%  %%%%%      %   \
1657  %..  %     %%%% %   \
1658  %.%%%%  %%%%    %   \
1659  %....    %  o %%%%  \
1660  % ...%   % ooo%  %% \
1661 %%%.%%%% %%  o@o   % \
1662 %     %%%%% o %    % \
1663 % %.% o      o%%%o % \
1664 % %.%%%%%%%%  %  o % \
1665 % %..        %%  o % \
1666 % % %%%%%%% o % %  % \
1667 %   %     %       %% \
1668 %%%%%     %%%%%%%%%% \
1669/; b endmap
1670}
1671  /^86$/{s/.*/\
1672SED Sokoban - LEVEL 86\
1673\
1674 %%%%%%%%%%%%%%%%     \
1675 %       %@ %   %     \
1676 % % % % % o  oo%     \
1677 % %...% %ooo   %     \
1678 %  ...% % o  oo%%    \
1679 % %%.%% % %%    %    \
1680 % %...     o    %    \
1681 % %% %%%  %%%%%%%    \
1682 %    % %%%%          \
1683 %%%%%%               \
1684/; b endmap
1685}
1686  /^87$/{s/.*/\
1687SED Sokoban - LEVEL 87\
1688\
1689     %%%%%            \
1690  %%%%   %% %%%%%     \
1691  %  o    %%%   %     \
1692  % o@o o    o  %     \
1693  % %o%%%%%%%% %%     \
1694  % %  o  %     %     \
1695  % % o o % %   %     \
1696 %% %  o% % %%%%%     \
1697 %  %%    %     %     \
1698 %    o % %%%   %     \
1699 %%%%% %%  %....%     \
1700 %    o     ....%     \
1701 %         %....%     \
1702 %%%%%%%%%%%%%%%%     \
1703/; b endmap
1704}
1705  /^88$/{s/.*/\
1706SED Sokoban - LEVEL 88\
1707\
1708 %%%%%%%%%%%%%        \
1709 %........%%%%        \
1710 %...%%%% %  %%%%%    \
1711 %...%  %%%    o %    \
1712 %...oo     o o  %    \
1713 %  .%  o o% o  %%    \
1714 %...% %o%   o  %     \
1715 %.% % o   o    %     \
1716 %.  %o%%%o%%%%o%     \
1717 %%  %   o o    %     \
1718  %  %  o@o  %  %     \
1719  %  % %%%% o  o%     \
1720  %  %    %%%   %     \
1721  %  % oo % %%%%%     \
1722  %  %    %           \
1723  %%%%%%%%%           \
1724/; b endmap
1725}
1726  /^89$/{s/.*/\
1727SED Sokoban - LEVEL 89\
1728\
1729  %%%%%%%%%%%%%%%%%%  \
1730  %   o       ...%.%% \
1731  %       %%%%..... % \
1732  % %%%%%%%  %..... % \
1733  % %    o o %%....%% \
1734  % %  o % % %%%...%  \
1735  % % o@o o  %%%%% %  \
1736 %% %  o  o oo   o %  \
1737 %  %o% o%   % o%% %  \
1738 % %%    %% %% o % %  \
1739 % % o% o o  %     %  \
1740 % %         %%%%%%%  \
1741 % %%%%%%%%o%%   %    \
1742 %        %  o   %    \
1743 %%%%%%%%    %%%%%    \
1744        %%%  %        \
1745          %%%%        \
1746/; b endmap
1747}
1748  /^90$/{s/.*/\
1749SED Sokoban - LEVEL 90\
1750\
1751 %%%%%%%%%%%%%%%%%%%% \
1752 %..%    %          % \
1753 %.o  o  %oo  o%% o%% \
1754 %.o%  %%%  %% %%   % \
1755 %  % o %  oo   o   % \
1756 % %%%  % %  %o  %%%% \
1757 %  %% % o   %@ %   % \
1758 % o    o  %%.%%  o % \
1759 %  % o% o% o     %%% \
1760 %  %  %  %   %%%   % \
1761 %  %%%%%%%% %      % \
1762 %           %  %.%.% \
1763 %%o%%%%%%%%o%   ...% \
1764 %    .O  %    %%.%.% \
1765 % .O...O   o  .....% \
1766 %%%%%%%%%%%%%%%%%%%% \
1767                      \
1768/; b endmap
1769}
1770/SED Soko/ !{
1771	s/.*/there is no '&' level!/p
1772	q
1773}
1774
1775:endmap
1776#r back to line 1 col 1
1777s/^//
1778s,\(\n\)$,\1\1[ h j k l :q :r :z :gN ],
1779x
1780/:p /!s/.*//
1781b ini
1782
1783:zero
1784
1785#r supporting arrow keys also
1786// {
1787	s/\[A/k/g
1788	s/\[B/j/g
1789	s/\[C/l/g
1790	s/\[D/h/g
1791}
1792
1793#r command aliases
1794s//:z/g
1795
1796#r lowercase commands
1797y/HJKLQGZR/hjklqgzr/
1798
1799#r wipe trash
1800s/[^hjklqgzr:0-9]//g
1801
1802#r commands!
1803/^:/ {
1804	#r quit
1805	/^:q/q
1806	#r refresh screen
1807	/^:z/ {
1808		s/.*//p
1809		s/.*/:p [refresh]/
1810		b ini
1811	}
1812	#r goto level N (optional g)
1813	/^:g\{0,1\}\([0-9]\{1,\}\)$/ {
1814		s//\1/
1815		h
1816		x
1817		s/.*/:p [goto level &]/
1818		x
1819		b loadmap
1820	}
1821	#r restarting level
1822	/^:r/ {
1823		s/.*/:p [restart]/
1824		x
1825		s/.*LEVEL \([0-9]\{1,\}\).*/\1/
1826		b loadmap
1827	}
1828}
1829
1830#r welcome message
18311 b welcome
1832
1833#r first map loading
18342 b loadmap
1835
1836#r here the party begins
1837:ini
1838
1839#r print message
1840#r TODO make it right
1841/^:p / {
1842	s/.*//
1843	#r	s//last command: /; s/$/       /p; d
1844}
1845
1846#r empty command, jump to end
1847/./ !{
1848	x
1849	b x
1850}
1851
1852#r -------------[ LEFT ]--------------------------
1853
1854/^h/ {
1855	#r del current move and save others
1856	s///
1857	x
1858	#r clear path
1859	/ @/ {
1860		s//@ /
1861		b x
1862	}
1863	#r push load
1864	/ o@/ {
1865		s//o@ /
1866		b x
1867	}
1868	#r enter overdot
1869	/\.@/ {
1870		s//! /
1871		b x
1872	}
1873	#r continue overdot
1874	/\.!/ {
1875		s//!./
1876		b x
1877	}
1878	#r out overdot
1879	/ !/ {
1880		s//@./
1881		b x
1882	}
1883	#r enter load overdot
1884	/\.o@/ {
1885		s//O@ /
1886		b x
1887	}
1888	#r enter overdot with load
1889	/\.O@/ {
1890		s//O! /
1891		b x
1892	}
1893	#r continue overdot with load
1894	/\.O!/ {
1895		s//O!./
1896		b x
1897	}
1898	#r out load overdot / enter overdot
1899	/ O@/ {
1900		s//o! /
1901		b x
1902	}
1903	#r out load overdot / continue overdot
1904	/ O!/ {
1905		s//o!./
1906		b x
1907	}
1908	#r out overdot with load
1909	/ o!/ {
1910		s//o@./
1911		b x
1912	}
1913	#r out overdot with load / enter overdot
1914	/\.o!/ {
1915		s//O@./
1916		b x
1917	}
1918	#r can't pass
1919	b x
1920}
1921
1922#r -------------[ RIGHT ]-------------------------
1923
1924/^l/ {
1925	#r del current move and save others
1926	s///
1927	x
1928	#r clear path
1929	/@ / {
1930		s// @/
1931		b x
1932	}
1933	#r push load
1934	/@o / {
1935		s// @o/
1936		b x
1937	}
1938	#r enter overdot
1939	/@\./ {
1940		s// !/
1941		b x
1942	}
1943	#r continue overdot
1944	/!\./ {
1945		s//.!/
1946		b x
1947	}
1948	#r out overdot
1949	/! / {
1950		s//.@/
1951		b x
1952	}
1953	#r enter load overdot
1954	/@o\./ {
1955		s// @O/
1956		b x
1957	}
1958	#r enter overdot with load
1959	/@O\./ {
1960		s// !O/
1961		b x
1962	}
1963	#r continue overdot with load
1964	/!O\./ {
1965		s//.!O/
1966		b x
1967	}
1968	#r out load overdot / enter overdot
1969	/@O / {
1970		s// !o/
1971		b x
1972	}
1973	#r out load overdot / continue overdot
1974	/!O / {
1975		s//.!o/
1976		b x
1977	}
1978	#r out overdot with load
1979	/!o / {
1980		s//.@o/
1981		b x
1982	}
1983	#r out overdot with load / enter overdot
1984	/!o\./ {
1985		s//.@O/
1986		b x
1987	}
1988	#r can't pass
1989	b x
1990}
1991
1992#r -------------[ DOWN ]--------------------------
1993
1994/^j/ {
1995	#r del current move and save others
1996	s///
1997	x
1998	#r clear path
1999	/@\(.\{22\}\) / {
2000		s// \1@/
2001		b x
2002	}
2003	#r push load
2004	/@\(.\{22\}\)o\(.\{22\}\) / {
2005		s// \1@\2o/
2006		b x
2007	}
2008	#r enter overdot
2009	/@\(.\{22\}\)\./ {
2010		s// \1!/
2011		b x
2012	}
2013	#r continue overdot
2014	/!\(.\{22\}\)\./ {
2015		s//.\1!/
2016		b x
2017	}
2018	#r out overdot
2019	/!\(.\{22\}\) / {
2020		s//.\1@/
2021		b x
2022	}
2023	#r enter load overdot
2024	/@\(.\{22\}\)o\(.\{22\}\)\./ {
2025		s// \1@\2O/
2026		b x
2027	}
2028	#r enter overdot with load
2029	/@\(.\{22\}\)O\(.\{22\}\)\./ {
2030		s// \1!\2O/
2031		b x
2032	}
2033	#r continue overdot with load
2034	/!\(.\{22\}\)O\(.\{22\}\)\./ {
2035		s//.\1!\2O/
2036		b x
2037	}
2038	#r out load overdot / enter overdot
2039	/@\(.\{22\}\)O\(.\{22\}\) / {
2040		s// \1!\2o/
2041		b x
2042	}
2043	#r out load overdot / continue overdot
2044	/!\(.\{22\}\)O\(.\{22\}\) / {
2045		s//.\1!\2o/
2046		b x
2047	}
2048	#r out overdot with load
2049	/!\(.\{22\}\)o\(.\{22\}\) / {
2050		s//.\1@\2o/
2051		b x
2052	}
2053	#r out overdot with load / enter overdot
2054	/!\(.\{22\}\)o\(.\{22\}\)\./ {
2055		s//.\1@\2O/
2056		b x
2057	}
2058	#r target not free
2059	b x
2060}
2061
2062#r ---------------[ UP ]--------------------------
2063
2064/^k/ {
2065	#r del current move and save others
2066	s///
2067	x
2068	#r clear path
2069	/ \(.\{22\}\)@/ {
2070		s//@\1 /
2071		b x
2072	}
2073	#r push load
2074	/ \(.\{22\}\)o\(.\{22\}\)@/ {
2075		s//o\1@\2 /
2076		b x
2077	}
2078	#r enter overdot
2079	/\.\(.\{22\}\)@/ {
2080		s//!\1 /
2081		b x
2082	}
2083	#r continue overdot
2084	/\.\(.\{22\}\)!/ {
2085		s//!\1./
2086		b x
2087	}
2088	#r out overdot
2089	/ \(.\{22\}\)!/ {
2090		s//@\1./
2091		b x
2092	}
2093	#r enter load overdot
2094	/\.\(.\{22\}\)o\(.\{22\}\)@/ {
2095		s//O\1@\2 /
2096		b x
2097	}
2098	#r enter overdot with load
2099	/\.\(.\{22\}\)O\(.\{22\}\)@/ {
2100		s//O\1!\2 /
2101		b x
2102	}
2103	#r continue overdot with load
2104	/\.\(.\{22\}\)O\(.\{22\}\)!/ {
2105		s//O\1!\2./
2106		b x
2107	}
2108	#r out load overdot / enter overdot
2109	/ \(.\{22\}\)O\(.\{22\}\)@/ {
2110		s//o\1!\2 /
2111		b x
2112	}
2113	#r out load overdot / continue overdot
2114	/ \(.\{22\}\)O\(.\{22\}\)!/ {
2115		s//o\1!\2./
2116		b x
2117	}
2118	#r out overdot with load
2119	/ \(.\{22\}\)o\(.\{22\}\)!/ {
2120		s//o\1@\2./
2121		b x
2122	}
2123	#r out overdot with load / enter overdot
2124	/\.\(.\{22\}\)o\(.\{22\}\)!/ {
2125		s//O\1@\2./
2126		b x
2127	}
2128	#r target not free
2129	b x
2130}
2131
2132#r wrong command, do nothing
2133s/^.//
2134x
2135
2136#r ----------------[ THE END ]-----------------
2137:x
2138
2139#r adding color codes
2140s/%/&/g
2141s/[!@]/&/g
2142s/O/&/g
2143s/\./&/g
2144
2145#r uncomment this line if you DON'T want colorized output (why not?)
2146### s/\[[0-9;]*m//g
2147
2148#r update screen
2149p
2150
2151#r removing color codes from maze
2152s/\[[0-9;]*m//g
2153
2154#r no more load ('o'), level finished!
2155/[ @!%.]o/ !b finish
2156/o[ @!%.]/ !{
2157	:finish
2158	s/.*/(( VICT/
2159	s/$/ORY! ))/
2160	s/$/                             /
2161	#r uncomment here if you DON'T want color or sound on victory
2162	#r s///g ; s/\[[0-9;]*m//g
2163	p
2164	i\
2165You're a master of this level. Try the next!
2166	q
2167}
2168
2169#r save current position on hold space
2170x
2171
2172#r skipping loop
21732d
2174
2175#r nice loop for accumulated moves
2176/./ {
2177	p
2178	b ini
2179}
2180