https://github.com/nikvoronin/sokoban
All-in-one Sokoban game (about 64Kb size) with vector graphics. Game and levels are packed in one .exe file.
https://github.com/nikvoronin/sokoban
csharp game game-development gamepad sokoban vector-graphics xinput
Last synced: 4 months ago
JSON representation
All-in-one Sokoban game (about 64Kb size) with vector graphics. Game and levels are packed in one .exe file.
- Host: GitHub
- URL: https://github.com/nikvoronin/sokoban
- Owner: nikvoronin
- License: mit
- Created: 2016-05-23T10:52:00.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-02-16T11:31:43.000Z (over 8 years ago)
- Last Synced: 2025-01-16T11:27:05.471Z (9 months ago)
- Topics: csharp, game, game-development, gamepad, sokoban, vector-graphics, xinput
- Language: C#
- Homepage:
- Size: 251 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Sokoban
This is a small (about 64Kb) [Sokoban](https://en.wikipedia.org/wiki/Sokoban) game written in C# with vector graphics. Game and levels are packed in one .exe file. Primary goals of this project are use of vector graphics, MVC-pattern, packed embedded resources, [XInput gamepads](https://github.com/nikvoronin/XInput.Wrapper) and using of GDI+ only.
[DOWNLOAD](https://github.com/nikvoronin/sokoban/releases/latest) latest release here.

CURSOR, WASD, [D-Pad] to move.
ESCAPE, [START] to select another level.
CTRL+, CTRL-, [RB, LB] resizes game board (Numpad's +- keys and Gamepad's bumper-keys does the same).
BACKSPACE, [B] to undo last movement.
F5, [BACK] restarts current level.You can use gamepad at select level menu: [D-Pad] to navigate, [A] as ENTER and [B] as TAB.

## Thanks to
**ZipStorer** by [Jaime Olivares](https://github.com/jaime-olivares/zipstorer)
**Rabbit** levels by [Thinking Rabbit](https://en.wikipedia.org/wiki/Thinking_Rabbit)
**SVB** levels by [Belyaev S. V.](http://svb-sokoban.narod.ru)
**GRIGoRusha** levels by [Evgeny Grigoriev](http://grigr.narod.ru)# Level Map
The game contains about 838 levels.

Level is a text file with CRLF line ending. First line is a name of the level. Next lines contains blocks of level. Level map must ends with empty line (CRLF only).
Legend (without quotes):
_ ' ' underscore or space for empty cells.
# Wall
$ Barrel or box
. Plate
* Barrel on the plate
@ Player's start point
+ Player starts over the plate## Example 'Rabbit 01'
Do not forget that levels are separated each other by CRLF (empty line).
Rabbit 01
____#####__________
____#___#__________
____#$__#__________
__###__$##_________
__#__$_$_#_________
###_#_##_#___######
#___#_##_#####__..#
#_$__$__________..#
#####_###_#@##__..#
____#_____#########
____#######________## Levels Pack
Levels are contained in a single text file. You can pack that file into a .zip archive. One .zip contains one level file. Game will automatically recognize zipped files.
# Command-line
Sokoban.exe
Sokoban.exe userDefinedLevels.pack