Apply FS #6702: More Sokoban Improvements.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13731 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Antoine Cellerier 2007-06-28 20:45:00 +00:00
parent 7a1108227b
commit f91d06de7b
18 changed files with 2245 additions and 2345 deletions

View file

@ -42,7 +42,7 @@ plugins/*.pl
plugins/Makefile
plugins/plugin.lds
plugins/snake2.levels
plugins/sokoban.levels
plugins/sokobanlevels.sok
plugins/viewers.config
plugins/SOURCES
plugins/SUBDIRS

View file

@ -331,11 +331,13 @@ sokoban_tiles.14x14.bmp
#elif (LCD_HEIGHT >= 144) && (LCD_WIDTH >= 212) || \
(LCD_HEIGHT >= 169) && (LCD_WIDTH >= 180-4)
sokoban_tiles.9x9.bmp
#else
/* LCD_HEIGHT >= 96~121 && LCD_WIDTH >= 152~120 */
#elif (LCD_HEIGHT >= 96 && LCD_WIDTH >= 152) || \
(LCD_HEIGHT >= 121 && LCD_WIDTH >= 120)
sokoban_tiles.6x6.bmp
#endif
#elif LCD_DEPTH >= 2
#elif LCD_DEPTH >= 2 && \
((LCD_HEIGHT >= 96 && LCD_WIDTH >= 152) || \
(LCD_HEIGHT >= 121 && LCD_WIDTH >= 120))
sokoban_tiles.6x6x2.bmp
#endif

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -16,6 +16,7 @@ m3u,viewers/iriverify,-
mid,viewers/midiplay,7
rmi,viewers/midiplay,7
rsp,viewers/searchengine,8
sok,rocks/sokoban,1
pgn,rocks/chessbox,1
ss,rocks/sudoku,1
wav,viewers/wav2wv,-

Binary file not shown.

Before

Width:  |  Height:  |  Size: 337 B

After

Width:  |  Height:  |  Size: 353 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 665 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 B

After

Width:  |  Height:  |  Size: 455 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 699 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 514 B

After

Width:  |  Height:  |  Size: 615 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 709 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 875 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 888 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

After

Width:  |  Height:  |  Size: 972 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Before After
Before After

View file

@ -5,44 +5,75 @@ 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}{}{}
\opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,SANSA_E200_PAD}
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD}
{\ButtonUp, \ButtonDown,}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay,}
\opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown,}
\ButtonLeft, \ButtonRight
& Move the ``sokoban'' up, down, left or right\\
\opt{RECORDER_PAD}{\ButtonFOne}
\opt{ONDIO_PAD}{\ButtonMenu+\ButtonLeft}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD}{\ButtonSelect+\ButtonLeft}
\opt{IAUDIO_X5_PAD}{\ButtonPlay+\ButtonDown}
\opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonScrollDown}
& Back to previous level \\
\opt{RECORDER_PAD}{\ButtonFTwo}
\opt{ONDIO_PAD}{\ButtonMenu+\ButtonRight}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonPlay}
\opt{IAUDIO_X5_PAD,SANSA_E200_PAD}{\ButtonRec}
\opt{IRIVER_H10_PAD}{\ButtonFF}
& Restart level \\
\opt{RECORDER_PAD}{\ButtonFThree}
\opt{ONDIO_PAD}{\ButtonMenu+\ButtonUp}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,SANSA_E200_PAD}{\ButtonSelect+\ButtonRight}
\opt{IAUDIO_X5_PAD}{\ButtonPlay+\ButtonUp}
\opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonScrollUp}
& Go to next level \\
\opt{RECORDER_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
\opt{ONDIO_PAD}{\ButtonMenu}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD}{\ButtonSelect}
\opt{IRIVER_H10_PAD}{\ButtonRew}
\opt{SANSA_E200_PAD}{\ButtonUp}
& Undo last movement \\
\opt{RECORDER_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
\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,SANSA_E200_PAD}{\ButtonPower}
& Exit sokoban \\
\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,SANSA_E200_PAD}{\ButtonPower}
& Menu \\
\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,SANSA_E200_PAD}{\ButtonSelect}
\opt{IRIVER_H10_PAD}{\ButtonRew}
& Undo last movement \\
\opt{RECORDER_PAD,ARCHOS_AV300_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{IAUDIO_X5_PAD}{n/a}
\opt{IRIVER_H10_PAD}{\ButtonFF}
\opt{GIGABEAT_PAD}{\ButtonA}
\opt{SANSA_E200_PAD}{\ButtonRec}
& Redo previously undone move \\
\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{IAUDIO_X5_PAD}{\ButtonRec}
\opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonScrollDown}
\opt{GIGABEAT_PAD}{\ButtonVolDown}
\opt{SANSA_E200_PAD}{\ButtonSelect+\ButtonDown}
& Back to previous level \\
\opt{RECORDER_PAD,ARCHOS_AV300_PAD}{\ButtonFTwo}
\opt{ONDIO_PAD}{\ButtonMenu+\ButtonUp}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IAUDIO_X5_PAD}{n/a}
\opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonRight}
\opt{GIGABEAT_PAD}{\ButtonMenu}
\opt{SANSA_E200_PAD}{\ButtonSelect+\ButtonRight}
& Restart level \\
\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{IAUDIO_X5_PAD}{\ButtonPlay}
\opt{IRIVER_H10_PAD}{\ButtonPlay+\ButtonScrollUp}
\opt{GIGABEAT_PAD}{\ButtonVolUp}
\opt{SANSA_E200_PAD}{\ButtonSelect+\ButtonUp}
& Go to next level \\
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,SANSA_E200_PAD}
{\ButtonUp/\ButtonDown,}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu/\ButtonPlay,}
\opt{IRIVER_H10_PAD}{\ButtonScrollUp/\ButtonScrollDown,}
& Increase/decrease solution playback speed
\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}

View file

@ -329,7 +329,7 @@ STOP
`cp $ROOT/apps/tagnavi.config .rockbox/`;
if($bitmap) {
`cp $ROOT/apps/plugins/sokoban.levels .rockbox/rocks/`; # sokoban levels
`cp $ROOT/apps/plugins/sokobanlevels.sok .rockbox/rocks/`; # sokoban levels
`cp $ROOT/apps/plugins/snake2.levels .rockbox/rocks/`; # snake2 levels
}