2006-02-11 01:29:51 +00:00
|
|
|
\subsection{Sokoban}
|
2006-04-02 17:29:44 +00:00
|
|
|
\screenshot{plugins/images/ss-sokoban}{Sokoban}{fig:sokoban}
|
2006-02-11 01:29:51 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2007-06-28 20:45:00 +00:00
|
|
|
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}
|
|
|
|
|
2010-05-20 17:38:38 +00:00
|
|
|
\begin{btnmap}
|
2007-06-29 19:52:13 +00:00
|
|
|
\multicolumn{2}{c}{\textbf{In game}} \\
|
|
|
|
\hline
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD%
|
2009-10-09 07:34:13 +00:00
|
|
|
,IAUDIO_X5_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_E200_PAD%
|
2010-04-23 19:39:39 +00:00
|
|
|
,SANSA_FUZE_PAD,SANSA_C200_PAD,PBELL_VIBE500_PAD}
|
2007-06-29 19:52:13 +00:00
|
|
|
{\ButtonUp, \ButtonDown, }%
|
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay, }%
|
|
|
|
\opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown, }%
|
2009-12-14 20:18:38 +00:00
|
|
|
\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%
|
2010-04-23 19:39:39 +00:00
|
|
|
,SANSA_FUZE_PAD,SANSA_C200_PAD,IPOD_4G_PAD,IPOD_3G_PAD,IRIVER_H10_PAD,PBELL_VIBE500_PAD}
|
2009-12-14 20:18:38 +00:00
|
|
|
{\ButtonLeft, \ButtonRight}
|
|
|
|
\opt{COWON_D2_PAD}
|
|
|
|
{\TouchTopMiddle, \TouchBottomMiddle, \TouchMidLeft, \TouchMidRight}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-29 19:52:13 +00:00
|
|
|
& Move the ``sokoban'' up, down, left, or right\\
|
2007-06-28 20:45:00 +00:00
|
|
|
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
|
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
|
2008-05-19 01:08:44 +00:00
|
|
|
\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{SANSA_FUZE_PAD}{Long \ButtonHome}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{GIGABEAT_S_PAD,COWON_D2_PAD}{\ButtonMenu}
|
2010-04-23 19:39:39 +00:00
|
|
|
\opt{PBELL_VIBE500_PAD}{\ButtonRec}
|
2009-07-22 21:40:29 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{&
|
|
|
|
\opt{IRIVER_RC_H100_PAD}{\ButtonRCStop}
|
|
|
|
}
|
2007-06-28 20:45:00 +00:00
|
|
|
& Menu \\
|
Mostly cosmetic changes to some plugin descriptions in the manual: 1) In main.tex - don't mention chip8 games in the Player manual and give the correct path to the viewers directory. 2) Correct wrongly placed 'end' in zxbox.tex and remove link to the wiki as this chapter is based off of that page and there is no additional information on it. 3) Let long lists of button names break so they don't overlap with the next column in the pdf - blackjack, bubbles, demystify, flipit, logo, oscilloscope, pegbox, rockblox1d, rockblox, rockboy, sliding puzzle, snake2, solitaire, sudoku. 4) While at it, break long (code) lines in bubbles.tex. 5) Additionally exclude lines which showed only 'n/a' in the button tables for a specific target - pegbox, sokoban. 6) Use 'fname' to mark a path in disktidy.tex, also simplify the button table. 7) Use 'ButtonHold' in doom.tex.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18580 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 17:25:32 +00:00
|
|
|
\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}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonSelect+\ButtonDown}
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{GIGABEAT_S_PAD}{\ButtonPrev}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\ButtonMinus}
|
2010-04-23 19:39:39 +00:00
|
|
|
\opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonLeft}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
Mostly cosmetic changes to some plugin descriptions in the manual: 1) In main.tex - don't mention chip8 games in the Player manual and give the correct path to the viewers directory. 2) Correct wrongly placed 'end' in zxbox.tex and remove link to the wiki as this chapter is based off of that page and there is no additional information on it. 3) Let long lists of button names break so they don't overlap with the next column in the pdf - blackjack, bubbles, demystify, flipit, logo, oscilloscope, pegbox, rockblox1d, rockblox, rockboy, sliding puzzle, snake2, solitaire, sudoku. 4) While at it, break long (code) lines in bubbles.tex. 5) Additionally exclude lines which showed only 'n/a' in the button tables for a specific target - pegbox, sokoban. 6) Use 'fname' to mark a path in disktidy.tex, also simplify the button table. 7) Use 'ButtonHold' in doom.tex.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18580 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 17:25:32 +00:00
|
|
|
& 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}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD}{\ButtonSelect+\ButtonRight}
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{GIGABEAT_S_PAD}{\ButtonPlay}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\TouchTopRight}
|
2010-04-23 19:39:39 +00:00
|
|
|
\opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonCancel}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
Mostly cosmetic changes to some plugin descriptions in the manual: 1) In main.tex - don't mention chip8 games in the Player manual and give the correct path to the viewers directory. 2) Correct wrongly placed 'end' in zxbox.tex and remove link to the wiki as this chapter is based off of that page and there is no additional information on it. 3) Let long lists of button names break so they don't overlap with the next column in the pdf - blackjack, bubbles, demystify, flipit, logo, oscilloscope, pegbox, rockblox1d, rockblox, rockboy, sliding puzzle, snake2, solitaire, sudoku. 4) While at it, break long (code) lines in bubbles.tex. 5) Additionally exclude lines which showed only 'n/a' in the button tables for a specific target - pegbox, sokoban. 6) Use 'fname' to mark a path in disktidy.tex, also simplify the button table. 7) Use 'ButtonHold' in doom.tex.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18580 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 17:25:32 +00:00
|
|
|
& 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}
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{GIGABEAT_S_PAD}{\ButtonNext}
|
Mostly cosmetic changes to some plugin descriptions in the manual: 1) In main.tex - don't mention chip8 games in the Player manual and give the correct path to the viewers directory. 2) Correct wrongly placed 'end' in zxbox.tex and remove link to the wiki as this chapter is based off of that page and there is no additional information on it. 3) Let long lists of button names break so they don't overlap with the next column in the pdf - blackjack, bubbles, demystify, flipit, logo, oscilloscope, pegbox, rockblox1d, rockblox, rockboy, sliding puzzle, snake2, solitaire, sudoku. 4) While at it, break long (code) lines in bubbles.tex. 5) Additionally exclude lines which showed only 'n/a' in the button tables for a specific target - pegbox, sokoban. 6) Use 'fname' to mark a path in disktidy.tex, also simplify the button table. 7) Use 'ButtonHold' in doom.tex.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18580 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 17:25:32 +00:00
|
|
|
\opt{MROBE100_PAD}{\ButtonPlay}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{SANSA_E200_PAD,SANSA_FUZE_PAD}{\ButtonSelect+\ButtonUp}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\ButtonPlus}
|
2010-04-23 19:39:39 +00:00
|
|
|
\opt{PBELL_VIBE500_PAD}{\ButtonOK+\ButtonRight}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
Mostly cosmetic changes to some plugin descriptions in the manual: 1) In main.tex - don't mention chip8 games in the Player manual and give the correct path to the viewers directory. 2) Correct wrongly placed 'end' in zxbox.tex and remove link to the wiki as this chapter is based off of that page and there is no additional information on it. 3) Let long lists of button names break so they don't overlap with the next column in the pdf - blackjack, bubbles, demystify, flipit, logo, oscilloscope, pegbox, rockblox1d, rockblox, rockboy, sliding puzzle, snake2, solitaire, sudoku. 4) While at it, break long (code) lines in bubbles.tex. 5) Additionally exclude lines which showed only 'n/a' in the button tables for a specific target - pegbox, sokoban. 6) Use 'fname' to mark a path in disktidy.tex, also simplify the button table. 7) Use 'ButtonHold' in doom.tex.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18580 a1c6a512-1295-4272-9138-f99709370657
2008-09-23 17:25:32 +00:00
|
|
|
& Go to next level \\
|
|
|
|
}
|
2007-06-28 20:45:00 +00:00
|
|
|
\opt{RECORDER_PAD,ARCHOS_AV300_PAD}{\ButtonOn}
|
|
|
|
\opt{ONDIO_PAD}{\ButtonMenu}
|
2006-06-04 16:32:50 +00:00
|
|
|
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD}{\ButtonSelect}
|
2007-06-28 20:45:00 +00:00
|
|
|
\opt{IRIVER_H10_PAD}{\ButtonRew}
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{GIGABEAT_S_PAD}{\ButtonVolUp}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\TouchTopRight}
|
2010-04-23 19:39:39 +00:00
|
|
|
\opt{PBELL_VIBE500_PAD}{\ButtonCancel}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-28 20:45:00 +00:00
|
|
|
& Undo last movement \\
|
2009-07-22 18:08:51 +00:00
|
|
|
|
2007-06-29 19:52:13 +00:00
|
|
|
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,IAUDIO_X5_PAD}{\ButtonPlay}
|
2007-06-28 20:45:00 +00:00
|
|
|
\opt{ONDIO_PAD}{\ButtonMenu+\ButtonDown}
|
|
|
|
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
|
2006-08-23 17:10:08 +00:00
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
|
2006-10-17 14:43:39 +00:00
|
|
|
\opt{IRIVER_H10_PAD}{\ButtonFF}
|
2007-06-28 20:45:00 +00:00
|
|
|
\opt{GIGABEAT_PAD}{\ButtonA}
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{GIGABEAT_S_PAD}{\ButtonVolDown}
|
2008-03-18 09:24:35 +00:00
|
|
|
\opt{MROBE100_PAD}{\ButtonDisplay}
|
2008-05-19 01:08:44 +00:00
|
|
|
\opt{SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonRec}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{SANSA_FUZE_PAD}{\ButtonSelect+\ButtonLeft}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\TouchBottomLeft}
|
2010-04-23 19:39:39 +00:00
|
|
|
\opt{PBELL_VIBE500_PAD}{\ButtonOK}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-28 20:45:00 +00:00
|
|
|
& Redo previously undone move \\
|
2007-06-29 19:52:13 +00:00
|
|
|
\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}
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD%
|
2009-10-09 07:34:13 +00:00
|
|
|
,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD}{\ButtonSelect}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\TouchCenter}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-29 19:52:13 +00:00
|
|
|
& Pause/resume \\
|
2009-05-21 11:39:22 +00:00
|
|
|
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD%
|
2009-10-09 07:34:13 +00:00
|
|
|
,IAUDIO_X5_PAD,GIGABEAT_PAD,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_E200_PAD%
|
|
|
|
,SANSA_FUZE_PAD,SANSA_C200_PAD}
|
2007-06-29 19:52:13 +00:00
|
|
|
{\ButtonUp/\ButtonDown}
|
|
|
|
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu/\ButtonPlay}
|
|
|
|
\opt{IRIVER_H10_PAD}{\ButtonScrollUp/\ButtonScrollDown}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{COWON_D2_PAD}{\TouchTopMiddle/\TouchBottomMiddle}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-29 19:52:13 +00:00
|
|
|
& Increase/decrease playback speed \\
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,IAUDIO_X5_PAD,IRIVER_H10_PAD,ONDIO_PAD%
|
|
|
|
,IRIVER_H100_PAD,IRIVER_H300_PAD,IPOD_4G_PAD,IPOD_3G_PAD,GIGABEAT_PAD%
|
|
|
|
,GIGABEAT_S_PAD,MROBE100_PAD,SANSA_E200_PAD,SANSA_FUZE_PAD,SANSA_C200_PAD}
|
|
|
|
{\ButtonLeft/\ButtonRight}
|
|
|
|
\opt{COWON_D2_PAD}{\TouchMidLeft/\TouchMidRight}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-29 19:52:13 +00:00
|
|
|
& 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}
|
2008-05-19 06:52:18 +00:00
|
|
|
\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD,SANSA_C200_PAD}{\ButtonPower}
|
2009-10-09 07:34:13 +00:00
|
|
|
\opt{SANSA_FUZE_PAD}{Long \ButtonHome}
|
2009-12-14 20:18:38 +00:00
|
|
|
\opt{GIGABEAT_S_PAD,COWON_D2_PAD}{\ButtonMenu}
|
2009-07-22 18:08:51 +00:00
|
|
|
\opt{HAVEREMOTEKEYMAP}{& }
|
2007-06-29 19:52:13 +00:00
|
|
|
& Quit \\
|
2006-04-03 22:45:01 +00:00
|
|
|
\end{btnmap}
|
2007-06-28 20:45:00 +00:00
|
|
|
|
|
|
|
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}
|
2007-06-29 19:52:13 +00:00
|
|
|
Note that some level sets may contain levels that are too large for this
|
|
|
|
version of Sokoban and are unplayable as a result.
|