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