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/Makefile
plugins/plugin.lds plugins/plugin.lds
plugins/snake2.levels plugins/snake2.levels
plugins/sokoban.levels plugins/sokobanlevels.sok
plugins/viewers.config plugins/viewers.config
plugins/SOURCES plugins/SOURCES
plugins/SUBDIRS plugins/SUBDIRS

View file

@ -331,11 +331,13 @@ sokoban_tiles.14x14.bmp
#elif (LCD_HEIGHT >= 144) && (LCD_WIDTH >= 212) || \ #elif (LCD_HEIGHT >= 144) && (LCD_WIDTH >= 212) || \
(LCD_HEIGHT >= 169) && (LCD_WIDTH >= 180-4) (LCD_HEIGHT >= 169) && (LCD_WIDTH >= 180-4)
sokoban_tiles.9x9.bmp sokoban_tiles.9x9.bmp
#else #elif (LCD_HEIGHT >= 96 && LCD_WIDTH >= 152) || \
/* LCD_HEIGHT >= 96~121 && LCD_WIDTH >= 152~120 */ (LCD_HEIGHT >= 121 && LCD_WIDTH >= 120)
sokoban_tiles.6x6.bmp sokoban_tiles.6x6.bmp
#endif #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 sokoban_tiles.6x6x2.bmp
#endif #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 mid,viewers/midiplay,7
rmi,viewers/midiplay,7 rmi,viewers/midiplay,7
rsp,viewers/searchengine,8 rsp,viewers/searchengine,8
sok,rocks/sokoban,1
pgn,rocks/chessbox,1 pgn,rocks/chessbox,1
ss,rocks/sudoku,1 ss,rocks/sudoku,1
wav,viewers/wav2wv,- 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 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. 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{table}
\begin{btnmap}{}{} \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,} {\ButtonUp, \ButtonDown,}
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay,} \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay,}
\opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown,} \opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown,}
\ButtonLeft, \ButtonRight \ButtonLeft, \ButtonRight
& Move the ``sokoban'' up, down, left or right\\ & Move the ``sokoban'' up, down, left or right\\
\opt{RECORDER_PAD}{\ButtonFOne} \opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff}
\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{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu} \opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonSelect+\ButtonMenu}
\opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,SANSA_E200_PAD}{\ButtonPower} \opt{IAUDIO_X5_PAD,IRIVER_H10_PAD,GIGABEAT_PAD,SANSA_E200_PAD}{\ButtonPower}
& Exit sokoban \\ & 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{btnmap}
\end{table} \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/`; `cp $ROOT/apps/tagnavi.config .rockbox/`;
if($bitmap) { 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 `cp $ROOT/apps/plugins/snake2.levels .rockbox/rocks/`; # snake2 levels
} }