Auto-detect binary in TTS / encoder setting dialog by searching $PATH. Only linux...
[Rockbox.git] / manual / plugins / sokoban.tex
blobbe0cfcd3de170ce85ae4d4bdbfadfb128b577c21
1 \subsection{Sokoban}
2 \screenshot{plugins/images/ss-sokoban}{Sokoban}{fig:sokoban}
4 The object of the game is to push boxes into their correct position in a
5 crowded warehouse with a minimal number of pushes and moves. The boxes
6 can only be pushed, never pulled, and only one can be pushed at a time.
8 Sokoban may be used as a viewer for viewing saved solutions and playing
9 external level sets with the \fname{.sok} extension. Level sets should be in
10 the standard Sokoban text format or RLE (Run Length Encoded). For more
11 information about the level format, see
12 \url{http://sokobano.de/wiki/index.php?title=Level_format}
14 \begin{table}
15 \begin{btnmap}{}{}
16 \multicolumn{2}{c}{\textbf{In game}} \\
17 \hline
18 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD}
19 {\ButtonUp, \ButtonDown, }%
20 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay, }%
21 \opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown, }%
22 \ButtonLeft, \ButtonRight
23 & Move the ``sokoban'' up, down, left, or right\\
24 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
25 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
26 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,SANSA_E200_PAD}{\ButtonPower}
27 & Menu \\
28 \opt{RECORDER_PAD,ARCHOS_AV300_PAD}{\ButtonOn}
29 \opt{ONDIO_PAD}{\ButtonMenu}
30 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
31 \opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD}{\ButtonSelect}
32 \opt{IRIVER_H10_PAD}{\ButtonRew}
33 & Undo last movement \\
34 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,IAUDIO_X5_PAD}{\ButtonPlay}
35 \opt{ONDIO_PAD}{\ButtonMenu+\ButtonDown}
36 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
37 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
38 \opt{IRIVER_H10_PAD}{\ButtonFF}
39 \opt{GIGABEAT_PAD}{\ButtonA}
40 \opt{SANSA_E200_PAD}{\ButtonRec}
41 & Redo previously undone move \\
42 \opt{RECORDER_PAD,ARCHOS_AV300_PAD}{\ButtonFOne}
43 \opt{ONDIO_PAD}{\ButtonMenu+\ButtonLeft}
44 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonDown}
45 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonLeft}
46 \opt{IAUDIO_X5_PAD}{n/a}
47 \opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonScrollDown}
48 \opt{GIGABEAT_PAD}{\ButtonVolDown}
49 \opt{SANSA_E200_PAD}{\ButtonSelect+\ButtonDown}
50 & Back to previous level \\
51 \opt{RECORDER_PAD,ARCHOS_AV300_PAD}{\ButtonFTwo}
52 \opt{ONDIO_PAD}{\ButtonMenu+\ButtonUp}
53 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
54 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{n/a}
55 \opt{IAUDIO_X5_PAD}{\ButtonRec}
56 \opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonRight}
57 \opt{GIGABEAT_PAD}{\ButtonMenu}
58 \opt{SANSA_E200_PAD}{\ButtonSelect+\ButtonRight}
59 & Restart level \\
60 \opt{RECORDER_PAD,ARCHOS_AV300_PAD}{\ButtonFThree}
61 \opt{ONDIO_PAD}{\ButtonMenu+\ButtonRight}
62 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn+\ButtonUp}
63 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonRight}
64 \opt{IAUDIO_X5_PAD}{n/a}
65 \opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonScrollUp}
66 \opt{GIGABEAT_PAD}{\ButtonVolUp}
67 \opt{SANSA_E200_PAD}{\ButtonSelect+\ButtonUp}
68 & Go to next level \\
69 \hline
70 \multicolumn{2}{c}{\textbf{Solution playback}} \\
71 \hline
72 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD}{\ButtonPlay}
73 \opt{ONDIO_PAD}{\ButtonMenu}
74 \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
75 \opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,SANSA_E200_PAD}{\ButtonSelect}
76 & Pause/resume \\
77 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD}
78 {\ButtonUp/\ButtonDown}
79 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu/\ButtonPlay}
80 \opt{IRIVER_H10_PAD}{\ButtonScrollUp/\ButtonScrollDown}
81 & Increase/decrease playback speed \\
82 \ButtonLeft/\ButtonRight
83 & Go backward/forward (while paused) \\
84 \opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
85 \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
86 \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,SANSA_E200_PAD}{\ButtonPower}
87 & Quit \\
88 \end{btnmap}
89 \end{table}
91 Some places where can you can find level sets:
92 \begin{itemize}
93 \item \url{http://www.sourcecode.se/sokoban/levels.php}
94 \item \url{http://sokobano.de/en/levels.php}
95 \end{itemize}
96 Note that some level sets may contain levels that are too large for this
97 version of Sokoban and are unplayable as a result.