From dbaf5b4720a0a7973b3eed9e1fde2931f917746f Mon Sep 17 00:00:00 2001 From: Vahagn Khachatryan Date: Sun, 21 Apr 2013 23:46:09 +0400 Subject: [PATCH] Initial check in. --- .gitignore | 12 + AndroidManifest.xml | 25 ++ ant.properties | 18 ++ build.properties | 0 build.xml | 92 +++++++ compiler/compiler.cpp | 214 ++++++++++++++++ compiler/screen_1.sokoban | 11 + compiler/screen_10.sokoban | 16 ++ compiler/screen_11.sokoban | 15 ++ compiler/screen_12.sokoban | 13 + compiler/screen_13.sokoban | 13 + compiler/screen_14.sokoban | 16 ++ compiler/screen_15.sokoban | 16 ++ compiler/screen_16.sokoban | 15 ++ compiler/screen_17.sokoban | 14 ++ compiler/screen_18.sokoban | 13 + compiler/screen_19.sokoban | 16 ++ compiler/screen_2.sokoban | 10 + compiler/screen_20.sokoban | 16 ++ compiler/screen_21.sokoban | 15 ++ compiler/screen_22.sokoban | 16 ++ compiler/screen_23.sokoban | 14 ++ compiler/screen_24.sokoban | 16 ++ compiler/screen_25.sokoban | 16 ++ compiler/screen_26.sokoban | 12 + compiler/screen_27.sokoban | 13 + compiler/screen_28.sokoban | 15 ++ compiler/screen_29.sokoban | 13 + compiler/screen_3.sokoban | 10 + compiler/screen_30.sokoban | 14 ++ compiler/screen_31.sokoban | 16 ++ compiler/screen_32.sokoban | 15 ++ compiler/screen_33.sokoban | 15 ++ compiler/screen_34.sokoban | 15 ++ compiler/screen_35.sokoban | 16 ++ compiler/screen_36.sokoban | 16 ++ compiler/screen_37.sokoban | 15 ++ compiler/screen_38.sokoban | 11 + compiler/screen_39.sokoban | 16 ++ compiler/screen_4.sokoban | 14 ++ compiler/screen_40.sokoban | 16 ++ compiler/screen_41.sokoban | 15 ++ compiler/screen_42.sokoban | 13 + compiler/screen_43.sokoban | 11 + compiler/screen_44.sokoban | 15 ++ compiler/screen_45.sokoban | 14 ++ compiler/screen_46.sokoban | 16 ++ compiler/screen_47.sokoban | 11 + compiler/screen_48.sokoban | 16 ++ compiler/screen_49.sokoban | 15 ++ compiler/screen_5.sokoban | 13 + compiler/screen_50.sokoban | 16 ++ compiler/screen_51.sokoban | 12 + compiler/screen_52.sokoban | 17 ++ compiler/screen_53.sokoban | 12 + compiler/screen_54.sokoban | 12 + compiler/screen_55.sokoban | 12 + compiler/screen_56.sokoban | 12 + compiler/screen_57.sokoban | 12 + compiler/screen_58.sokoban | 12 + compiler/screen_59.sokoban | 12 + compiler/screen_6.sokoban | 11 + compiler/screen_60.sokoban | 12 + compiler/screen_61.sokoban | 12 + compiler/screen_62.sokoban | 12 + compiler/screen_63.sokoban | 12 + compiler/screen_64.sokoban | 12 + compiler/screen_65.sokoban | 12 + compiler/screen_66.sokoban | 12 + compiler/screen_67.sokoban | 12 + compiler/screen_68.sokoban | 12 + compiler/screen_69.sokoban | 12 + compiler/screen_7.sokoban | 12 + compiler/screen_70.sokoban | 12 + compiler/screen_71.sokoban | 12 + compiler/screen_72.sokoban | 12 + compiler/screen_73.sokoban | 12 + compiler/screen_74.sokoban | 12 + compiler/screen_75.sokoban | 12 + compiler/screen_76.sokoban | 12 + compiler/screen_77.sokoban | 15 ++ compiler/screen_78.sokoban | 12 + compiler/screen_79.sokoban | 12 + compiler/screen_8.sokoban | 16 ++ compiler/screen_80.sokoban | 13 + compiler/screen_81.sokoban | 13 + compiler/screen_82.sokoban | 13 + compiler/screen_83.sokoban | 13 + compiler/screen_84.sokoban | 12 + compiler/screen_85.sokoban | 16 ++ compiler/screen_86.sokoban | 10 + compiler/screen_87.sokoban | 14 ++ compiler/screen_88.sokoban | 16 ++ compiler/screen_89.sokoban | 17 ++ compiler/screen_9.sokoban | 14 ++ compiler/screen_90.sokoban | 16 ++ default.properties | 0 local.properties | 10 + proguard-project.txt | 20 ++ project.properties | 14 ++ res/drawable/splash.png | Bin 0 -> 13134 bytes res/layout/menu.xml | 18 ++ res/raw/puzzles.bin | Bin 0 -> 22506 bytes res/values/strings.xml | 6 + src/org/dyndns/vahagn/sokoban/App.java | 37 +++ .../dyndns/vahagn/sokoban/PlayActivity.java | 82 +++++++ src/org/dyndns/vahagn/sokoban/PlayView.java | 231 ++++++++++++++++++ src/org/dyndns/vahagn/sokoban/Puzzle.java | 94 +++++++ .../vahagn/sokoban/PuzzleContainer.java | 73 ++++++ .../dyndns/vahagn/sokoban/SokobanMenu.java | 93 +++++++ version.bat | 31 +++ 111 files changed, 2290 insertions(+) create mode 100644 .gitignore create mode 100644 AndroidManifest.xml create mode 100644 ant.properties create mode 100644 build.properties create mode 100644 build.xml create mode 100644 compiler/compiler.cpp create mode 100644 compiler/screen_1.sokoban create mode 100644 compiler/screen_10.sokoban create mode 100644 compiler/screen_11.sokoban create mode 100644 compiler/screen_12.sokoban create mode 100644 compiler/screen_13.sokoban create mode 100644 compiler/screen_14.sokoban create mode 100644 compiler/screen_15.sokoban create mode 100644 compiler/screen_16.sokoban create mode 100644 compiler/screen_17.sokoban create mode 100644 compiler/screen_18.sokoban create mode 100644 compiler/screen_19.sokoban create mode 100644 compiler/screen_2.sokoban create mode 100644 compiler/screen_20.sokoban create mode 100644 compiler/screen_21.sokoban create mode 100644 compiler/screen_22.sokoban create mode 100644 compiler/screen_23.sokoban create mode 100644 compiler/screen_24.sokoban create mode 100644 compiler/screen_25.sokoban create mode 100644 compiler/screen_26.sokoban create mode 100644 compiler/screen_27.sokoban create mode 100644 compiler/screen_28.sokoban create mode 100644 compiler/screen_29.sokoban create mode 100644 compiler/screen_3.sokoban create mode 100644 compiler/screen_30.sokoban create mode 100644 compiler/screen_31.sokoban create mode 100644 compiler/screen_32.sokoban create mode 100644 compiler/screen_33.sokoban create mode 100644 compiler/screen_34.sokoban create mode 100644 compiler/screen_35.sokoban create mode 100644 compiler/screen_36.sokoban create mode 100644 compiler/screen_37.sokoban create mode 100644 compiler/screen_38.sokoban create mode 100644 compiler/screen_39.sokoban create mode 100644 compiler/screen_4.sokoban create mode 100644 compiler/screen_40.sokoban create mode 100644 compiler/screen_41.sokoban create mode 100644 compiler/screen_42.sokoban create mode 100644 compiler/screen_43.sokoban create mode 100644 compiler/screen_44.sokoban create mode 100644 compiler/screen_45.sokoban create mode 100644 compiler/screen_46.sokoban create mode 100644 compiler/screen_47.sokoban create mode 100644 compiler/screen_48.sokoban create mode 100644 compiler/screen_49.sokoban create mode 100644 compiler/screen_5.sokoban create mode 100644 compiler/screen_50.sokoban create mode 100644 compiler/screen_51.sokoban create mode 100644 compiler/screen_52.sokoban create mode 100644 compiler/screen_53.sokoban create mode 100644 compiler/screen_54.sokoban create mode 100644 compiler/screen_55.sokoban create mode 100644 compiler/screen_56.sokoban create mode 100644 compiler/screen_57.sokoban create mode 100644 compiler/screen_58.sokoban create mode 100644 compiler/screen_59.sokoban create mode 100644 compiler/screen_6.sokoban create mode 100644 compiler/screen_60.sokoban create mode 100644 compiler/screen_61.sokoban create mode 100644 compiler/screen_62.sokoban create mode 100644 compiler/screen_63.sokoban create mode 100644 compiler/screen_64.sokoban create mode 100644 compiler/screen_65.sokoban create mode 100644 compiler/screen_66.sokoban create mode 100644 compiler/screen_67.sokoban create mode 100644 compiler/screen_68.sokoban create mode 100644 compiler/screen_69.sokoban create mode 100644 compiler/screen_7.sokoban create mode 100644 compiler/screen_70.sokoban create mode 100644 compiler/screen_71.sokoban create mode 100644 compiler/screen_72.sokoban create mode 100644 compiler/screen_73.sokoban create mode 100644 compiler/screen_74.sokoban create mode 100644 compiler/screen_75.sokoban create mode 100644 compiler/screen_76.sokoban create mode 100644 compiler/screen_77.sokoban create mode 100644 compiler/screen_78.sokoban create mode 100644 compiler/screen_79.sokoban create mode 100644 compiler/screen_8.sokoban create mode 100644 compiler/screen_80.sokoban create mode 100644 compiler/screen_81.sokoban create mode 100644 compiler/screen_82.sokoban create mode 100644 compiler/screen_83.sokoban create mode 100644 compiler/screen_84.sokoban create mode 100644 compiler/screen_85.sokoban create mode 100644 compiler/screen_86.sokoban create mode 100644 compiler/screen_87.sokoban create mode 100644 compiler/screen_88.sokoban create mode 100644 compiler/screen_89.sokoban create mode 100644 compiler/screen_9.sokoban create mode 100644 compiler/screen_90.sokoban create mode 100644 default.properties create mode 100644 local.properties create mode 100644 proguard-project.txt create mode 100644 project.properties create mode 100644 res/drawable/splash.png create mode 100644 res/layout/menu.xml create mode 100644 res/raw/puzzles.bin create mode 100644 res/values/strings.xml create mode 100644 src/org/dyndns/vahagn/sokoban/App.java create mode 100644 src/org/dyndns/vahagn/sokoban/PlayActivity.java create mode 100644 src/org/dyndns/vahagn/sokoban/PlayView.java create mode 100644 src/org/dyndns/vahagn/sokoban/Puzzle.java create mode 100644 src/org/dyndns/vahagn/sokoban/PuzzleContainer.java create mode 100644 src/org/dyndns/vahagn/sokoban/SokobanMenu.java create mode 100644 version.bat diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b8a8073 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +.settings +bin +gen +arch +nbandroid +private +res/values/version.xml +compiler/compiler.exe +compiler/puzzles.bin + +*.swp + diff --git a/AndroidManifest.xml b/AndroidManifest.xml new file mode 100644 index 0000000..18f0a47 --- /dev/null +++ b/AndroidManifest.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/ant.properties b/ant.properties new file mode 100644 index 0000000..4973139 --- /dev/null +++ b/ant.properties @@ -0,0 +1,18 @@ +# This file is used to override default values used by the Ant build system. +# +# This file must be checked into Version Control Systems, as it is +# integral to the build system of your project. + +# This file is only used by the Ant script. + +# You can use this to override default values such as +# 'source.dir' for the location of your java source folder and +# 'out.dir' for the location of your output folder. + +# You can also use it define how the release builds are signed by declaring +# the following properties: +# 'key.store' for the location of your keystore and +# 'key.alias' for the name of the key to use. +# The password will be asked during the build when you use the 'release' target. +key.store=C:/Users/vahagnk/devel/_private/org.dyndns.vahagn.keystore +key.alias=dyndns diff --git a/build.properties b/build.properties new file mode 100644 index 0000000..e69de29 diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..df78d36 --- /dev/null +++ b/build.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/compiler/compiler.cpp b/compiler/compiler.cpp new file mode 100644 index 0000000..ad4b882 --- /dev/null +++ b/compiler/compiler.cpp @@ -0,0 +1,214 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +// +// Describes one single puzzle. +// +class puzzle +{ +protected: + int width; + int height; + typedef std::vector content_type; + content_type content; + enum symbols { + empty = 0, + wall, + box, + hole, + box_in_hole, + worker + }; + +public: + puzzle() + : width(0) + , height(0) + {} + + void load( const std::string& name ) + { + std::cout << "Loading " << name << "..." << std::flush; + std::ifstream is( name ); + std::stringstream ss; + // + // Read line by line and calculate width and hight. + // + std::string line; + while ( std::getline( is, line ) ) + { + ss << line << std::endl; + width = std::max( width, (int)line.length() ); + ++height; + } + // + // Encode puzzle. + // + std::cout << "encoding..." << std::flush; + content.resize(width*height); + content_type::iterator it = content.begin(); + while ( std::getline( ss, line ) ) + { + for ( char c : line ) + { + switch ( c ) + { + case ' ': + *it++ = empty; + break; + case '#': + *it++ = wall; + break; + case '$': + *it++ = box; + break; + case '.': + *it++ = hole; + break; + case '*': + *it++ = box_in_hole; + break; + case '@': + *it++ = worker; + break; + default: + throw std::runtime_error( + std::string("Unexpected symbol '" )+c+"' found." ); + } + } + for ( int i=0; i < width - line.length(); ++i) + *it++ = empty; + } + std::cout << "done" << std::endl; + } + + int size() + { + return 2+width*height; + } + + void encode( std::ostream& os ) + { + if ( width > height ) + encode_as_is(os); + else + encode_rotated(os); + } + +private: + + void encode_as_is( std::ostream& os ) + { + os << (char)width; + os << (char)height; + for ( char c : content ) + os << c; + } + + void encode_rotated( std::ostream& os ) + { + std::cout << "rotating." << std::endl; + os << (char)height; + os << (char)width; + for ( int i = 0; i < width; ++i ) + for ( int j = 0; j < height; ++j ) + os << content[ j*width+i ]; + } + +}; + +// +// Describes catalog of puzzles. +// +class catalog +{ +protected: + typedef std::list puzzles_type; + puzzles_type puzzles; + + typedef int i32; + typedef i32 offset_type; + typedef i32 count_type; + +public: + + void push( puzzle * p ) + { + puzzles.push_back( p ); + } + + void compile( std::ostream& os ) + { + std::cout << "Compiling." << std::endl; + encode( os,(count_type)puzzles.size()); + offset_type bgn = sizeof(count_type)+puzzles.size()*sizeof(offset_type); + std::cout << "Table ... "; + for ( puzzle * p : puzzles ) + { + encode(os,bgn); + bgn += p->size(); + } + std::cout << "done." << std::endl; + std::cout << "Puzzles..."; + for ( puzzle * p : puzzles ) + { + p->encode(os); + } + std::cout << "done." << std::endl; + } + +protected: + template + void encode( std::ostream& os, I i) + { + if ( sizeof(i) == 1 ) + os << (char)i; + else if ( sizeof(i) == 2 ) + { + os << (char)(i&0xff); + os << (char)(i>>8&0xff); + } + else if ( sizeof(i) == 4 ) + { + os << (char)(i&0xff); + os << (char)(i>>8&0xff); + os << (char)(i>>16&0xff); + os << (char)(i>>24&0xff); + } + } +}; + +int main( void ) +try +{ + catalog c; + + for ( int i = 1; i <= 90; ++i ) + { + std::stringstream ss; + ss << "screen_" << i << ".sokoban"; + puzzle * p = new puzzle; + p->load( ss.str()); + c.push( p ); + } + + std::ofstream os( "puzzles.bin", std::ios::binary ); + c.compile( os ); + return 0; +} +catch ( const std::exception& e ) +{ + std::cout << "std::exception: " << e.what() << std::endl; +} +catch ( ... ) +{ + std::cout << "unknown exception." << std::endl; +} + + diff --git a/compiler/screen_1.sokoban b/compiler/screen_1.sokoban new file mode 100644 index 0000000..03176c6 --- /dev/null +++ b/compiler/screen_1.sokoban @@ -0,0 +1,11 @@ + ##### + # # + #$ # + ### $## + # $ $ # +### # ## # ###### +# # ## ##### ..# +# $ $ ..# +##### ### #@## ..# + # ######### + ####### diff --git a/compiler/screen_10.sokoban b/compiler/screen_10.sokoban new file mode 100644 index 0000000..9a26d25 --- /dev/null +++ b/compiler/screen_10.sokoban @@ -0,0 +1,16 @@ + ### ############# +##@#### # # +# $$ $$ $ $ ...# +# $$$# $ #...# +# $ # $$ $$ #...# +### # $ #...# +# # $ $ $ #...# +# ###### ###...# +## # # $ $ #...# +# ## # $$ $ $##..# +# ..# # $ #.# +# ..# # $$$ $$$ #.# +##### # # #.# + # ######### #.# + # #.# + ############### diff --git a/compiler/screen_11.sokoban b/compiler/screen_11.sokoban new file mode 100644 index 0000000..50b23b6 --- /dev/null +++ b/compiler/screen_11.sokoban @@ -0,0 +1,15 @@ + #### + #### # # + ### @###$ # + ## $ # + ## $ $$## ## + # #$## # + # # $ $$ # ### + # $ # # $ ##### +#### # $$ # # +#### ## $ # +#. ### ######## +#.. ..# #### +#...#.# +#.....# +####### diff --git a/compiler/screen_12.sokoban b/compiler/screen_12.sokoban new file mode 100644 index 0000000..03dd689 --- /dev/null +++ b/compiler/screen_12.sokoban @@ -0,0 +1,13 @@ +################ +# # +# # ###### # +# # $ $ $ $# # +# # $@$ ## ## +# # $ $ $###...# +# # $ $ ##...# +# ###$$$ $ ##...# +# # ## ##...# +##### ## ##...# + ##### ### + # # + ####### diff --git a/compiler/screen_13.sokoban b/compiler/screen_13.sokoban new file mode 100644 index 0000000..54bc74a --- /dev/null +++ b/compiler/screen_13.sokoban @@ -0,0 +1,13 @@ + ######### + ## ## ##### +### # # ### +# $ #$ # # ... # +# # $#@$## # #.#. # +# # #$ # . . # +# $ $ # # #.#. # +# ## ##$ $ . . # +# $ # # #$#.#. # +## $ $ $ $... # + #$ ###### ## # + # # ########## + #### diff --git a/compiler/screen_14.sokoban b/compiler/screen_14.sokoban new file mode 100644 index 0000000..930caa1 --- /dev/null +++ b/compiler/screen_14.sokoban @@ -0,0 +1,16 @@ + ####### + ####### # + # # $@$ # + #$$ # ######### + # ###......## # + # $......## # # + # ###...... # +## #### ### #$## +# #$ # $ # # +# $ $$$ # $## # +# $ $ ###$$ # # +##### $ # # + ### ### # # + # # # + ######## # + #### diff --git a/compiler/screen_15.sokoban b/compiler/screen_15.sokoban new file mode 100644 index 0000000..b45dfe5 --- /dev/null +++ b/compiler/screen_15.sokoban @@ -0,0 +1,16 @@ + ######## + # # # + # $ # + ### #$ #### + # $ ##$ # + # # @ $ # $# + # # $ #### + ## ####$## # + # $#.....# # # + # $..**. $# ### +## #.....# # +# ### ####### +# $$ # # +# # # +###### # + ##### diff --git a/compiler/screen_16.sokoban b/compiler/screen_16.sokoban new file mode 100644 index 0000000..798dcd4 --- /dev/null +++ b/compiler/screen_16.sokoban @@ -0,0 +1,15 @@ +##### +# ## +# # #### +# $ #### # +# $$ $ $# +###@ #$ ## + # ## $ $ ## + # $ ## ## .# + # #$##$ #.# + ### $..##.# + # #.*...# + # $$ #.....# + # ######### + # # + #### diff --git a/compiler/screen_17.sokoban b/compiler/screen_17.sokoban new file mode 100644 index 0000000..01a8da3 --- /dev/null +++ b/compiler/screen_17.sokoban @@ -0,0 +1,14 @@ + ########## + #.. # # + #.. # + #.. # #### + ####### # ## + # # + # # ## # # +#### ## #### ## +# $ ##### # # +# # $ $ # $ # +# @$ $ # ## +#### ## ####### + # # + ###### diff --git a/compiler/screen_18.sokoban b/compiler/screen_18.sokoban new file mode 100644 index 0000000..07b514c --- /dev/null +++ b/compiler/screen_18.sokoban @@ -0,0 +1,13 @@ + ########### + # . # # + # #. @ # + ##### ##..# #### +## # ..### ### +# $ #... $ # $ # +# .. ## ## ## # +####$##$# $ # # # + ## # #$ $$ # # + # $ # # # $## # + # # + # ########### # + #### #### diff --git a/compiler/screen_19.sokoban b/compiler/screen_19.sokoban new file mode 100644 index 0000000..99842b3 --- /dev/null +++ b/compiler/screen_19.sokoban @@ -0,0 +1,16 @@ + ###### + # @#### +##### $ # +# ## #### +# $ # ## # +# $ # ##### # +## $ $ # # +## $ $ ### # # +## # $ # # # +## # #$# # # +## ### # # ###### +# $ #### # #....# +# $ $ ..#.# +####$ $# $ ....# +# # ## ....# +################### diff --git a/compiler/screen_2.sokoban b/compiler/screen_2.sokoban new file mode 100644 index 0000000..93bf1a8 --- /dev/null +++ b/compiler/screen_2.sokoban @@ -0,0 +1,10 @@ +############ +#.. # ### +#.. # $ $ # +#.. #$#### # +#.. @ ## # +#.. # # $ ## +###### ##$ $ # + # $ $ $ $ # + # # # + ############ diff --git a/compiler/screen_20.sokoban b/compiler/screen_20.sokoban new file mode 100644 index 0000000..cdffbde --- /dev/null +++ b/compiler/screen_20.sokoban @@ -0,0 +1,16 @@ + ########## +##### #### +# # $ #@ # +# #######$#### ### +# # ## # #$ ..# +# # $ # # #.# +# # $ # #$ ..# +# # ### ## #.# +# ### # # #$ ..# +# # # #### #.# +# #$ $ $ #$ ..# +# $ # $ $ # #.# +#### $### #$ ..# + # $$ ###....# + # ## ###### + ######## diff --git a/compiler/screen_21.sokoban b/compiler/screen_21.sokoban new file mode 100644 index 0000000..9b45d8f --- /dev/null +++ b/compiler/screen_21.sokoban @@ -0,0 +1,15 @@ +######### +# # +# #### +## #### # # +## #@## # +# $$$ $ $$# +# # ## $ # +# # ## $ #### +#### $$$ $# # + # ## ....# + # # # #.. .# + # # # ##...# + ##### $ #...# + ## ##### + ##### diff --git a/compiler/screen_22.sokoban b/compiler/screen_22.sokoban new file mode 100644 index 0000000..bb9301a --- /dev/null +++ b/compiler/screen_22.sokoban @@ -0,0 +1,16 @@ +###### #### +# ####### ##### +# $# # $ # # +# $ $ $ # $ $ # +##$ $ # @# $ # +# $ ########### ## +# # #.......# $# +# ## # ......# # +# # $........$ # +# # $ #.... ..# # +# $ $####$#### $# +# $ ### $ $ ## +# $ $ $ $ # +## ###### $ ##### # +# # # +################### diff --git a/compiler/screen_23.sokoban b/compiler/screen_23.sokoban new file mode 100644 index 0000000..87faa14 --- /dev/null +++ b/compiler/screen_23.sokoban @@ -0,0 +1,14 @@ + ####### + # # #### +##### $#$ # ## +#.. # # # # +#.. # $#$ # $#### +#. # #$ # # +#.. $# # $ # +#..@# #$ #$ # # +#.. # $# $# # +#.. # #$$#$ # ## +#.. # $# # $#$ # +#.. # # # # # +##. #### ##### # + #### #### ##### diff --git a/compiler/screen_24.sokoban b/compiler/screen_24.sokoban new file mode 100644 index 0000000..f162e68 --- /dev/null +++ b/compiler/screen_24.sokoban @@ -0,0 +1,16 @@ +############### +#.......... .#### +#..........$$.# # +###########$ # ## +# $ $ $ # +## #### # $ # # +# # ## # ## +# $# # ## ### ## +# $ #$### ### ## +### $ # # ### ## +### $ ## # # ## + # $ # $ $ $ # + # $ $#$$$ # # + # # $ ##### + # @## # # # + ############## diff --git a/compiler/screen_25.sokoban b/compiler/screen_25.sokoban new file mode 100644 index 0000000..3ab05c8 --- /dev/null +++ b/compiler/screen_25.sokoban @@ -0,0 +1,16 @@ +#### +# ############## +# # ..#......# +# # # ##### ...# +##$# ........# +# ##$###### #### +# $ # ######@ # +##$ # $ ###### # +# $ #$$$## # +# # #$#$### +# #### #$$$$$ # +# # $ # # +# # ## ### +# ######$###### $ # +# # # # +########## ##### diff --git a/compiler/screen_26.sokoban b/compiler/screen_26.sokoban new file mode 100644 index 0000000..9e59954 --- /dev/null +++ b/compiler/screen_26.sokoban @@ -0,0 +1,12 @@ + ####### + # # ##### +## # #...### +# $# #... # +# $ #$$ ... # +# $# #... .# +# # $######## +##$ $ $ # +## # $$ # # + ###### ##$$@# + # ## + ######## diff --git a/compiler/screen_27.sokoban b/compiler/screen_27.sokoban new file mode 100644 index 0000000..c54e8ab --- /dev/null +++ b/compiler/screen_27.sokoban @@ -0,0 +1,13 @@ + ################# + #... # # ## +##..... $## # #$ # +#......# $ # # +#......# # # # # +######### $ $ $ # + # #$##$ ##$## + ## $ # $ # + # ## ### # ##$ # + # $ $$ $ $ # + # $ $##$ ###### + ####### @ ## + ###### diff --git a/compiler/screen_28.sokoban b/compiler/screen_28.sokoban new file mode 100644 index 0000000..38e70ad --- /dev/null +++ b/compiler/screen_28.sokoban @@ -0,0 +1,15 @@ + ##### + ##### # + ## $ $ #### +##### $ $ $ ##.# +# $$ ##..# +# ###### ###.. # +## # # #... # +# $ # #... # +#@ #$ ## ####...# +#### $ $$ ##..# + ## $ $ $...# + # $$ $ # .# + # $ $ #### + ###### # + ##### diff --git a/compiler/screen_29.sokoban b/compiler/screen_29.sokoban new file mode 100644 index 0000000..97ff6d1 --- /dev/null +++ b/compiler/screen_29.sokoban @@ -0,0 +1,13 @@ +##### +# ## +# $ ######### +## # # ###### +## # $#$#@ # # +# # $ # $ # +# ### ######### ## +# ## ..*..... # ## +## ## *.*..*.* # ## +# $########## ##$ # +# $ $ $ $ # +# # # # # # +################### diff --git a/compiler/screen_3.sokoban b/compiler/screen_3.sokoban new file mode 100644 index 0000000..07ffe1e --- /dev/null +++ b/compiler/screen_3.sokoban @@ -0,0 +1,10 @@ + ######## + # @# + # $#$ ## + # $ $# + ##$ $ # +######### $ # ### +#.... ## $ $ # +##... $ $ # +#.... ########## +######## diff --git a/compiler/screen_30.sokoban b/compiler/screen_30.sokoban new file mode 100644 index 0000000..1743951 --- /dev/null +++ b/compiler/screen_30.sokoban @@ -0,0 +1,14 @@ + ########### + # # # +##### # $ $ # +# ##### $## # ## +# $ ## # ## $ # +# $ @$$ # ##$$$ # +## ### # ## # +## # ### #####$# +## # $ #....# +# ### ## $ #....## +# $ $ # #..$. # +# ## $ # ##.... # +##### ######...## + ##### ##### diff --git a/compiler/screen_31.sokoban b/compiler/screen_31.sokoban new file mode 100644 index 0000000..bf907b1 --- /dev/null +++ b/compiler/screen_31.sokoban @@ -0,0 +1,16 @@ + #### + # ######### + ## ## # # + # $# $@$ #### + #$ $ # $ $# ## +## $## #$ $ # +# # # # $$$ # +# $ $ $## #### +# $ $ #$# # # +## ### ###$ # + # #.... # + ####......#### + #....#### + #...## + #...# + ##### diff --git a/compiler/screen_32.sokoban b/compiler/screen_32.sokoban new file mode 100644 index 0000000..d4c2a69 --- /dev/null +++ b/compiler/screen_32.sokoban @@ -0,0 +1,15 @@ + #### + ##### # + ## $# +## $ ## ### +#@$ $ # $ # +#### ## $# + #....#$ $ # + #....# $# + #.... $$ ## + #... # $ # + ######$ $ # + # ### + #$ ### + # # + #### diff --git a/compiler/screen_33.sokoban b/compiler/screen_33.sokoban new file mode 100644 index 0000000..d916d8c --- /dev/null +++ b/compiler/screen_33.sokoban @@ -0,0 +1,15 @@ + ########### + # ## # + # $ $ # +#### ## $$ # +# $ # # +# $$$ # #### +# # # $ ## +# # # $ # +# $# $# # +# ..# #### +####.. $ #@# +#.....# $# # +##....# $ # + ##..## # + ########## diff --git a/compiler/screen_34.sokoban b/compiler/screen_34.sokoban new file mode 100644 index 0000000..ac52def --- /dev/null +++ b/compiler/screen_34.sokoban @@ -0,0 +1,15 @@ + ######### + #.... ## + #.#.# $ ## +##....# # @## +# ....# # ## +# #$ ##$ # +## ### $ # + #$ $ $ $# # + # # $ $ ## # + # ### ## # + # ## ## ## + # $ # $ # + ###$ $ ### + # ##### + #### diff --git a/compiler/screen_35.sokoban b/compiler/screen_35.sokoban new file mode 100644 index 0000000..e56651e --- /dev/null +++ b/compiler/screen_35.sokoban @@ -0,0 +1,16 @@ +############ ###### +# # # ###....# +# $$# @ .....# +# # ### # ....# +## ## ### # ....# + # $ $ # # #### + # $ $## # # +#### # #### # ## # +# # #$ ## # # +# $ $ # ## # ## +# # $ $ # # # +# $ ## ## # ##### +# $$ $$ # +## ## ### $ # + # # # # + ###### ###### diff --git a/compiler/screen_36.sokoban b/compiler/screen_36.sokoban new file mode 100644 index 0000000..3d271e9 --- /dev/null +++ b/compiler/screen_36.sokoban @@ -0,0 +1,16 @@ + ##### +##### ###### # +# #### $ $ $ # +# $ ## ## ## ## +# $ $ $ $ # +### $ ## ## ## + # ##### #####$$ # + ##$##### @## # + # $ ###$### $ ## + # $ # ### ### + # $$ $ # $$ # + # # ## # + #######.. .### + #.........# + #.........# + ########### diff --git a/compiler/screen_37.sokoban b/compiler/screen_37.sokoban new file mode 100644 index 0000000..eac558e --- /dev/null +++ b/compiler/screen_37.sokoban @@ -0,0 +1,15 @@ +########### +#...... ######### +#...... # ## # +#..### $ $ # +#... $ $ # ## # +#...#$##### # # +### # #$ #$ # + # $$ $ $ $## # + # $ #$#$ ##$ # + ### ## # ## # + # $ $ ## ###### + # $ $ # + ## # # # + #####@##### + ### diff --git a/compiler/screen_38.sokoban b/compiler/screen_38.sokoban new file mode 100644 index 0000000..2b0155f --- /dev/null +++ b/compiler/screen_38.sokoban @@ -0,0 +1,11 @@ + #### +####### @# +# $ # +# $## $# +##$#...# # + # $... # + # #. .# ## + # # #$ # + #$ $ # + # ####### + #### diff --git a/compiler/screen_39.sokoban b/compiler/screen_39.sokoban new file mode 100644 index 0000000..b556e41 --- /dev/null +++ b/compiler/screen_39.sokoban @@ -0,0 +1,16 @@ + ###### + #############....# +## ## ##....# +# $$## $ @##....# +# $$ $# ....# +# $ ## $$ # # ...# +# $ ## $ # ....# +## ##### ### ##.### +## $ $ ## . # +# $### # ##### ### +# $ # # +# $ #$ $ $### # +# $$$# $ # #### +# # $$ # +###### ### + ##### diff --git a/compiler/screen_4.sokoban b/compiler/screen_4.sokoban new file mode 100644 index 0000000..61067ec --- /dev/null +++ b/compiler/screen_4.sokoban @@ -0,0 +1,14 @@ + ######## + # ....# +############ ....# +# # $ $ ....# +# $$$#$ $ # ....# +# $ $ # ....# +# $$ #$ $ $######## +# $ # # +## ######### +# # ## +# $ ## +# $$#$$ @# +# # ## +########### diff --git a/compiler/screen_40.sokoban b/compiler/screen_40.sokoban new file mode 100644 index 0000000..1fb58f9 --- /dev/null +++ b/compiler/screen_40.sokoban @@ -0,0 +1,16 @@ + ############ + # ## + # # #$$ $ # + #$ #$# ## @# + ## ## # $ # ## + # $ #$ # # + # # $ # # + ## $ $ ## # + # # ## $ # + # ## $$# # +######$$ # # +#....# ######## +#.#... ## +#.... # +#.... # +######### diff --git a/compiler/screen_41.sokoban b/compiler/screen_41.sokoban new file mode 100644 index 0000000..fc475be --- /dev/null +++ b/compiler/screen_41.sokoban @@ -0,0 +1,15 @@ + ##### + ## ## + ## # + ## $$ # + ## $$ $ # + # $ $ # +#### # $$ ##### +# ######## ## # +#. $$$@# +#.# ####### ## ## +#.# #######. #$ $## +#........... # # +############## $ # + ## ## + #### diff --git a/compiler/screen_42.sokoban b/compiler/screen_42.sokoban new file mode 100644 index 0000000..5f446d5 --- /dev/null +++ b/compiler/screen_42.sokoban @@ -0,0 +1,13 @@ + ######## + #### ###### + # ## $ $ @# + # ## ##$#$ $ $## +### ......# $$ ## +# ......# # # +# # ......#$ $ # +# #$...... $$# $ # +# ### ###$ $ ## +### $ $ $ $ # + # $ $ $ $ # + ###### ###### + ##### diff --git a/compiler/screen_43.sokoban b/compiler/screen_43.sokoban new file mode 100644 index 0000000..daef27a --- /dev/null +++ b/compiler/screen_43.sokoban @@ -0,0 +1,11 @@ + ####### + ##### # #### + # # $ # + #### #$$ ## ## # +## # # ## ### +# ### $#$ $ $ # +#... # ## # # +#...# @ # ### ## +#...# ### $ $ # +######## ## # # + ######### diff --git a/compiler/screen_44.sokoban b/compiler/screen_44.sokoban new file mode 100644 index 0000000..054784a --- /dev/null +++ b/compiler/screen_44.sokoban @@ -0,0 +1,15 @@ + ##### + # # + # # ####### + # $@###### + # $ ##$ ### # + # #### $ $ # + # ##### # #$ #### +## #### ##$ # +# $# $ # ## ## # +# # #...# # +###### ### ... # + #### # #...# # + # ### # # + # # + ######### diff --git a/compiler/screen_45.sokoban b/compiler/screen_45.sokoban new file mode 100644 index 0000000..fb37057 --- /dev/null +++ b/compiler/screen_45.sokoban @@ -0,0 +1,14 @@ +##### #### +#...# # #### +#...### $ # +#....## $ $### +##....## $ # +###... ## $ $ # +# ## # $ # +# ## # ### #### +# $ # #$ $ # +# $ @ $ $ # +# # $ $$ $ ### +# ###### ### +# ## #### +### diff --git a/compiler/screen_46.sokoban b/compiler/screen_46.sokoban new file mode 100644 index 0000000..b05e3d6 --- /dev/null +++ b/compiler/screen_46.sokoban @@ -0,0 +1,16 @@ +########## +# #### +# ###### # ## +# # $ $ $ $ # +# #$ # +###$ $$# ### + # ## # $## + ##$# $ @# + # $ $ ### + # # $ # + # ## # # + ## ##### # + # # + #.......### + #.......# + ######### diff --git a/compiler/screen_47.sokoban b/compiler/screen_47.sokoban new file mode 100644 index 0000000..caec926 --- /dev/null +++ b/compiler/screen_47.sokoban @@ -0,0 +1,11 @@ + #### + ######### ## +## $ $ ##### +# ## ## ##...# +# #$$ $ $$#$##...# +# # @ # ...# +# $# ###$$ ...# +# $ $$ $ ##....# +###$ ####### + # ####### + #### diff --git a/compiler/screen_48.sokoban b/compiler/screen_48.sokoban new file mode 100644 index 0000000..fc623ed --- /dev/null +++ b/compiler/screen_48.sokoban @@ -0,0 +1,16 @@ + ######### + #*.*#*.*# + #.*.*.*.# + #*.*.*.*# + #.*.*.*.# + #*.*.*.*# + ### ### + # # +###### ###### +# # +# $ $ $ $ $ # +## $ $ $ $ ## + #$ $ $ $ $# + # $@$ # + # ##### # + #### #### diff --git a/compiler/screen_49.sokoban b/compiler/screen_49.sokoban new file mode 100644 index 0000000..94e7a88 --- /dev/null +++ b/compiler/screen_49.sokoban @@ -0,0 +1,15 @@ + #### + # ## + # ## + # $$ ## + ###$ $ ## + #### $ # +### # ##### # +# # #....$ # +# # $ ....# # +# $ # #.*..# # +### #### ### # + #### @$ ##$## + ### $ # + # ## # + ######### diff --git a/compiler/screen_5.sokoban b/compiler/screen_5.sokoban new file mode 100644 index 0000000..8d119e2 --- /dev/null +++ b/compiler/screen_5.sokoban @@ -0,0 +1,13 @@ + ##### + # ##### + # #$## # + # $ # +######### ### # +#.... ## $ $### +#.... $ $$ ## +#.... ##$ $ @# +######### $ ## + # $ $ # + ### ## # + # # + ###### diff --git a/compiler/screen_50.sokoban b/compiler/screen_50.sokoban new file mode 100644 index 0000000..b5561d2 --- /dev/null +++ b/compiler/screen_50.sokoban @@ -0,0 +1,16 @@ + ############ + ##.. # # + ##..* $ $ # + ##..*.# # # $## + #..*.# # # $ # +####...# # # # +# ## # # +# @$ $ ### # ## +# $ $ # # # +###$$ # # # # # + # $ # # ##### + # $# ##### # + #$ # # # # + # ### ## # + # # # ## + #### ###### diff --git a/compiler/screen_51.sokoban b/compiler/screen_51.sokoban new file mode 100644 index 0000000..ba15703 --- /dev/null +++ b/compiler/screen_51.sokoban @@ -0,0 +1,12 @@ + ######### + # # + # $ $$ $# +### # $ # +#.# $$ ## +#.### $ # +#.#. $ ## #### +#... $## $ # +#...$ $ # +#..###$### #@# +#..# # ### +#### ####### diff --git a/compiler/screen_52.sokoban b/compiler/screen_52.sokoban new file mode 100644 index 0000000..1c58411 --- /dev/null +++ b/compiler/screen_52.sokoban @@ -0,0 +1,17 @@ + ######## + #......# + #### #......# + # #########...# + # $ $ #...# + # # # # # # # +##### # # #@# # # +# # ### ### ## ## +# $ # $ $ $ # # +# $$$ $ # # +# # ###$###$## # +### # $ # # + ## $ # $ $ $ ### + # # ### ### ## + # $ # + # ########### + #### diff --git a/compiler/screen_53.sokoban b/compiler/screen_53.sokoban new file mode 100644 index 0000000..acdb6b4 --- /dev/null +++ b/compiler/screen_53.sokoban @@ -0,0 +1,12 @@ +################## +# ## +# $# $ ## $ # +# $### # $$ # +#.### $ $ ## ## +#...# # # #$ # +#..##$$#### $ # # +#...# $ ## ### +#...$ ### # # # +##.. $# ## ##@ # + ##.# # + ################## diff --git a/compiler/screen_54.sokoban b/compiler/screen_54.sokoban new file mode 100644 index 0000000..3f5beb5 --- /dev/null +++ b/compiler/screen_54.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # #@# +# $ $ $ # # +## ###..## ### # +# #....#$# $### # +# $ #....# $ $ $ # +# #....# # # $ $ # +# ##..## #$# # +##$## ## # #$## +# $ $ # # # +# # # # # +#################### diff --git a/compiler/screen_55.sokoban b/compiler/screen_55.sokoban new file mode 100644 index 0000000..896c468 --- /dev/null +++ b/compiler/screen_55.sokoban @@ -0,0 +1,12 @@ +#################### +# @## # ## +# ## $ $ ## +# ###....# # # ### +# #....# # # $ # +### #...# # # +## ##.# $ $ # +## $ $ ### # # ### +## $ # # $ # +#### $ $# # # # $ # +#### # # ## +#################### diff --git a/compiler/screen_56.sokoban b/compiler/screen_56.sokoban new file mode 100644 index 0000000..d541601 --- /dev/null +++ b/compiler/screen_56.sokoban @@ -0,0 +1,12 @@ +#################### +# # ## # @### +## $ # $### # +##$# $ ##$# $ $ # +# $# $ ### +# ## $ ### #....# +# # $# # # # #....## +# $ $ # #....### +##$ ### $ #....#### +# # $ ###### +# # # ###### +#################### diff --git a/compiler/screen_57.sokoban b/compiler/screen_57.sokoban new file mode 100644 index 0000000..6cdfeaf --- /dev/null +++ b/compiler/screen_57.sokoban @@ -0,0 +1,12 @@ +#################### +#@ ### # # # +# # # # $ $ # +##### # $ $#$# # +#.#..# ##$ $ # +#..... $ # ## +#..... ###$##$### +#.#..# $ # # +##### # #$ $ # +##### # $ $ $ # +##### # # # # # +#################### diff --git a/compiler/screen_58.sokoban b/compiler/screen_58.sokoban new file mode 100644 index 0000000..e891294 --- /dev/null +++ b/compiler/screen_58.sokoban @@ -0,0 +1,12 @@ +#################### +##... ## # # # +#.... $ ## # +#....# # #$###$ # +#...# # # # +##.# #$ # $## # +# # # $ $ ### $ # +# $ $ # # ## # +## # ## #$$# $# # # +# # $ $ # ## +# # # # @# +#################### diff --git a/compiler/screen_59.sokoban b/compiler/screen_59.sokoban new file mode 100644 index 0000000..e1a056e --- /dev/null +++ b/compiler/screen_59.sokoban @@ -0,0 +1,12 @@ +#################### +# # #@# ## ##### +# # # $ $ ##### +# # ###### $ ### +# # #....# $$ # +##$##$##....# # +# #....##$##$## +# $$ #....# # +# $ $ # # ### # +##### $ $ $ # +##### # # # ## +#################### diff --git a/compiler/screen_6.sokoban b/compiler/screen_6.sokoban new file mode 100644 index 0000000..b7f3290 --- /dev/null +++ b/compiler/screen_6.sokoban @@ -0,0 +1,11 @@ +###### ### +#.. # ##@## +#.. ### # +#.. $$ # +#.. # # $ # +#..### # $ # +#### $ #$ # + # $# $ # + # $ $ # + # ## # + ######### diff --git a/compiler/screen_60.sokoban b/compiler/screen_60.sokoban new file mode 100644 index 0000000..a63573d --- /dev/null +++ b/compiler/screen_60.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # +# $ ## ### ## +##### ## $ $ # +##..## # # $ # # # +#.... $ ##$# ## +#.... $##### #$## +##..# # # # $ # +###.# # $ $ # @# +## $ $ # # #### +## ########### +#################### diff --git a/compiler/screen_61.sokoban b/compiler/screen_61.sokoban new file mode 100644 index 0000000..82a0d67 --- /dev/null +++ b/compiler/screen_61.sokoban @@ -0,0 +1,12 @@ +#################### +# ###..### # +# $$ ###..### $@ # +# # ##......# $ # +# #......# $ # +#### ###..######$ # +# $$$ #..# # # +# $# $ $ $$ #$ # +# # ## $ ## # # +# $ $ ## $ $ # +# # ## ## # # +#################### diff --git a/compiler/screen_62.sokoban b/compiler/screen_62.sokoban new file mode 100644 index 0000000..b5e8be9 --- /dev/null +++ b/compiler/screen_62.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # # # # +# @# # ## $ $ ## +#### # # # $ # +# # ## #$ ## ## # +# $ $ $ # +#..###$$## $##$ ## # +#..#.# # $ $ # # +#....# $$ ##$ #### +#....# ##### # +#...### ## # +#################### diff --git a/compiler/screen_63.sokoban b/compiler/screen_63.sokoban new file mode 100644 index 0000000..9b89d58 --- /dev/null +++ b/compiler/screen_63.sokoban @@ -0,0 +1,12 @@ +#################### +#....# # # # +#....# # $ $ # +#.... ## $# # $#$ # +#...# $ $# $ # +#..#### # $ $$ # +# #### #### ### +# # # # +# ## # $ # $ $ # +# ## $ ## $ $ # +# @# # # # +#################### diff --git a/compiler/screen_64.sokoban b/compiler/screen_64.sokoban new file mode 100644 index 0000000..814f3b0 --- /dev/null +++ b/compiler/screen_64.sokoban @@ -0,0 +1,12 @@ +#################### +#....### # +#....##### # #$# ## +#....### #$ $ # +#....### $ #$$## +## #### $# #$ $ # +## #### $ $ # # +#@ ####$###$## $ # +## # # $ # +## ### # $ #### +######## # # # +#################### diff --git a/compiler/screen_65.sokoban b/compiler/screen_65.sokoban new file mode 100644 index 0000000..dde18de --- /dev/null +++ b/compiler/screen_65.sokoban @@ -0,0 +1,12 @@ +#################### +# # @#...### +# # ##...## +# # # ##$## ## ....# +# $ # $$$ ....# +###$### $$ ### ##.# +# $ # # #### +# $ # ### # # # +## #$## $ $$ # +# $ ## # # # # +# # # # # +#################### diff --git a/compiler/screen_66.sokoban b/compiler/screen_66.sokoban new file mode 100644 index 0000000..c4d00e1 --- /dev/null +++ b/compiler/screen_66.sokoban @@ -0,0 +1,12 @@ +#################### +# # #...#@ # +# # ....# # +# $ # #....# # +# ##$#### ##....# # +# $ $ # #...# # +# $$ # # # $$ # +### $$$# $$ $ # +# $ # # # $# # +# $# # $ # +# # # # # # +#################### diff --git a/compiler/screen_67.sokoban b/compiler/screen_67.sokoban new file mode 100644 index 0000000..12acbcf --- /dev/null +++ b/compiler/screen_67.sokoban @@ -0,0 +1,12 @@ +#################### +#####@###.##...## # +#####$ ..#...# # +#### ......# $ # +### $ #.....## # ## +## $$# ##### $ $ # +## $# $ ## $$ # +## # # # $ $ # +## $$ ### #$## # +## $# $ $ $ ## +### # # ### +#################### diff --git a/compiler/screen_68.sokoban b/compiler/screen_68.sokoban new file mode 100644 index 0000000..26ceebc --- /dev/null +++ b/compiler/screen_68.sokoban @@ -0,0 +1,12 @@ +#################### +#@ # # # +## ### ## #### # ## +# # # $$ # +# # # # $ # $ ## ## +# $ # #$$ # # +# ### # ## ## +#..#.# $ # $ # # +#..#.# $ # ## $$ # +#....## $$ $ # # +#.....## # # +#################### diff --git a/compiler/screen_69.sokoban b/compiler/screen_69.sokoban new file mode 100644 index 0000000..874d812 --- /dev/null +++ b/compiler/screen_69.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # ## +# $# $ $ ##...$ $ # +# $ # ##....# $ # +# ## $ ##....# $ # +# $ #....## $ # +# $## #...# # +# $$$##$## ### ## +# # # # # # # +# $ # $ ## # +# # #@ # +#################### diff --git a/compiler/screen_7.sokoban b/compiler/screen_7.sokoban new file mode 100644 index 0000000..dd97891 --- /dev/null +++ b/compiler/screen_7.sokoban @@ -0,0 +1,12 @@ + ##### + ####### ## +## # @## $$ # +# $ # +# $ ### # +### #####$### +# $ ### ..# +# $ $ $ ...# +# ###...# +# $$ # #...# +# ### ##### +#### diff --git a/compiler/screen_70.sokoban b/compiler/screen_70.sokoban new file mode 100644 index 0000000..0857afa --- /dev/null +++ b/compiler/screen_70.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # # # # +# $ $ $ # +## # #$###$## ## # +# $ $ # $ # +# ###$##$# # $ # +# # $ $ ###### $# +# $ $$ $ #@#.#...# +# # # # #.#...# +# ########## #.....# +# #.....# +#################### diff --git a/compiler/screen_71.sokoban b/compiler/screen_71.sokoban new file mode 100644 index 0000000..d874c76 --- /dev/null +++ b/compiler/screen_71.sokoban @@ -0,0 +1,12 @@ +#################### +# # # ## ## +# $# $ # ## # +# $ $ #..# $ # +# $ $ #....# # ## +# $# #......### $ # +# # #....# #$ # +# $ ####..# # # +## $ ## # # $ $## +### $ $#@$ $# # +#### # # # +#################### diff --git a/compiler/screen_72.sokoban b/compiler/screen_72.sokoban new file mode 100644 index 0000000..8984dc9 --- /dev/null +++ b/compiler/screen_72.sokoban @@ -0,0 +1,12 @@ +#################### +# ....# #### +# .... # +# # ########## # +# #$ # ###..# +# $ #$$### #..# +# $ ### $ $ #..# +# $ # $ $ # ##..# +# # $$ # $ ## ## +#@## $# $ $ ## +## ## # ### +#################### diff --git a/compiler/screen_73.sokoban b/compiler/screen_73.sokoban new file mode 100644 index 0000000..5327ce3 --- /dev/null +++ b/compiler/screen_73.sokoban @@ -0,0 +1,12 @@ +#################### +# # #@ # # +# $$ #$$# # # ## # +# # $ $ #$$ # # +## # # # # # # # +# ## # # +# # $ # # # # +# $ #$ # # $ #..# +##$ # #### #...# +# $ #....# +# # # #.....# +#################### diff --git a/compiler/screen_74.sokoban b/compiler/screen_74.sokoban new file mode 100644 index 0000000..204c133 --- /dev/null +++ b/compiler/screen_74.sokoban @@ -0,0 +1,12 @@ +#################### +# # ##### # +## $ # #### $ # +#### $$ #..# # # +# $ $ ##..#### ## +# $ ###.... $$ # +# #$# ....# # $ # +# # # $ ..###$# # +# # $ #..# ## # +# $# #### # $## +# # # @# ## +#################### diff --git a/compiler/screen_75.sokoban b/compiler/screen_75.sokoban new file mode 100644 index 0000000..b6263f0 --- /dev/null +++ b/compiler/screen_75.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # #@# +# $ $ # $ # # +##$# $### # $$# # +# # #.### #$ $ # +# #$#....# # ### # +# $ #.....## # # +##$ #.#....#$$ $ # +# ######..## # # # +# $ $ ### # +# # # # # +#################### diff --git a/compiler/screen_76.sokoban b/compiler/screen_76.sokoban new file mode 100644 index 0000000..1d0255f --- /dev/null +++ b/compiler/screen_76.sokoban @@ -0,0 +1,12 @@ +#################### +# # # # #@## # # +# $ # +# ##$# ##### $ # ## +## ##.....# # # +##$##$#.....###$#$ # +# # ##.....# # ## +# $ ##..## # # +# $ # $ $ $$$ # +## $ $# # # $ # +# ## # # # +#################### diff --git a/compiler/screen_77.sokoban b/compiler/screen_77.sokoban new file mode 100644 index 0000000..0a51b3e --- /dev/null +++ b/compiler/screen_77.sokoban @@ -0,0 +1,15 @@ +#################### +# ## # # # +# $ $ ## $ # +## ##### .###### ## + # ## ##....#### ## +## ##$ ###..## # +# #... .# $ $ # +# $ ## ## . ### #### +# # $ #.## # # +# $ $ # .#### ## +# # ## # ## # ## +####### $##$ $ # + ## $ #@# + # ## ###### + ####### diff --git a/compiler/screen_78.sokoban b/compiler/screen_78.sokoban new file mode 100644 index 0000000..31f04d8 --- /dev/null +++ b/compiler/screen_78.sokoban @@ -0,0 +1,12 @@ + ########### + # # + # $ $ # +###### # $ ##### # +# ##### $ ##$# +# $ $ # +# ## ## # +# ##@##### ## # +# #### # ## ## +#....# # $ # +#....# # # +###### ####### diff --git a/compiler/screen_79.sokoban b/compiler/screen_79.sokoban new file mode 100644 index 0000000..6fbc0f0 --- /dev/null +++ b/compiler/screen_79.sokoban @@ -0,0 +1,12 @@ +############# +# # +# ### $$ # +# # $ $ # +# $####$###### +# $ ## ##### +# $$ $ ...# +### ## $$# ...# + # ## # ...# + # # ...# + ###@############# + ### diff --git a/compiler/screen_8.sokoban b/compiler/screen_8.sokoban new file mode 100644 index 0000000..70408fd --- /dev/null +++ b/compiler/screen_8.sokoban @@ -0,0 +1,16 @@ + #### + # ########### + # $ $ $ # + # $# $ # $ # + # $ $ # # +### $# # #### # +#@#$ $ $ ## # +# $ #$# # # +# $ $ $ $ # +##### ######### + # # + # # + #......# + #......# + #......# + ######## diff --git a/compiler/screen_80.sokoban b/compiler/screen_80.sokoban new file mode 100644 index 0000000..5808906 --- /dev/null +++ b/compiler/screen_80.sokoban @@ -0,0 +1,13 @@ + ################# +###@## ...# +# # ...# +# $ # ...# +# $$ # ...# +## $ ###$########## + # ### $ # +## $ $ # +# $ # $ # +# $ # # +# $ # # +# # # +########### diff --git a/compiler/screen_81.sokoban b/compiler/screen_81.sokoban new file mode 100644 index 0000000..d413670 --- /dev/null +++ b/compiler/screen_81.sokoban @@ -0,0 +1,13 @@ + ##### + ########## # + # # # + # $ $ $$ # + # ##### ## $ # + #$$ #$## $ # + # ### # ##$ # +###### ### $ $ # +#.... ## # +#.... ###### +#.... # +###########@## + ### diff --git a/compiler/screen_82.sokoban b/compiler/screen_82.sokoban new file mode 100644 index 0000000..6364de2 --- /dev/null +++ b/compiler/screen_82.sokoban @@ -0,0 +1,13 @@ + ###### + #### # + # ## # + # $ # +### #### ######## +# $ $ ## ...# +# $$ $$ ...# +# $ $## ...# +##@## ## ## ...# + ### $ ######## + # $$ # + # # # + ######### diff --git a/compiler/screen_83.sokoban b/compiler/screen_83.sokoban new file mode 100644 index 0000000..ed2728a --- /dev/null +++ b/compiler/screen_83.sokoban @@ -0,0 +1,13 @@ +####### ######### +# # # ## # +# ### # # $ # +# # $ ### $ # +# $$ ##$ # +# #### ## # +#@############ ## +###.. #####$ # + #.. #### # + #.. $$ # + #.. #### $ # + #.. # # # + ######## ##### diff --git a/compiler/screen_84.sokoban b/compiler/screen_84.sokoban new file mode 100644 index 0000000..4b663d9 --- /dev/null +++ b/compiler/screen_84.sokoban @@ -0,0 +1,12 @@ +####### +# ########## +# # # ## +# $ # $ $ # +# $ # $ ## # +# $$ ##$ $ # +## # ## ####### +## # ## ...# +# #$ ...# +# $$ ...# +# ##@# ...# +################ diff --git a/compiler/screen_85.sokoban b/compiler/screen_85.sokoban new file mode 100644 index 0000000..9a48ee2 --- /dev/null +++ b/compiler/screen_85.sokoban @@ -0,0 +1,16 @@ +############ +# # ## +# $ $ # ###### +#### ##### # + #.. # #### # + #.#### #### # + #.... # $ #### + # ...# # $$$# ## +###.#### ## $@$ # +# ##### $ # # +# #.# $ $###$ # +# #.######## # $ # +# #.. ## $ # +# # ####### $ # # # +# # # ## +##### ########## diff --git a/compiler/screen_86.sokoban b/compiler/screen_86.sokoban new file mode 100644 index 0000000..b5771e1 --- /dev/null +++ b/compiler/screen_86.sokoban @@ -0,0 +1,10 @@ +################ +# #@ # # +# # # # # $ $$# +# #...# #$$$ # +# ...# # $ $$## +# ##.## # ## # +# #... $ # +# ## ### ####### +# # #### +###### diff --git a/compiler/screen_87.sokoban b/compiler/screen_87.sokoban new file mode 100644 index 0000000..f338ef5 --- /dev/null +++ b/compiler/screen_87.sokoban @@ -0,0 +1,14 @@ + ##### + #### ## ##### + # $ ### # + # $@$ $ $ # + # #$######## ## + # # $ # # + # # $ $ # # # +## # $# # ##### +# ## # # +# $ # ### # +##### ## #....# +# $ ....# +# #....# +################ diff --git a/compiler/screen_88.sokoban b/compiler/screen_88.sokoban new file mode 100644 index 0000000..0e9c8dc --- /dev/null +++ b/compiler/screen_88.sokoban @@ -0,0 +1,16 @@ +############# +#........#### +#...#### # ##### +#...# ### $ # +#...$$ $ $ # +# .# $ $# $ ## +#...# #$# $ # +#.# # $ $ # +#. #$###$####$# +## # $ $ # + # # $@$ # # + # # #### $ $# + # # ### # + # # $$ # ##### + # # # + ######### diff --git a/compiler/screen_89.sokoban b/compiler/screen_89.sokoban new file mode 100644 index 0000000..0c59e06 --- /dev/null +++ b/compiler/screen_89.sokoban @@ -0,0 +1,17 @@ + ################## + # $ ...#.## + # ####..... # + # ####### #..... # + # # $ $ ##....## + # # $ # # ###...# + # # $@$ $ ##### # +## # $ $ $$ $ # +# #$# $# # $## # +# ## ## ## $ # # +# # $# $ $ # # +# # ####### +# ########$## # +# # $ # +######## ##### + ### # + #### diff --git a/compiler/screen_9.sokoban b/compiler/screen_9.sokoban new file mode 100644 index 0000000..7fad1d4 --- /dev/null +++ b/compiler/screen_9.sokoban @@ -0,0 +1,14 @@ + ####### + # ...# + ##### ...# + # . .# + # ## ...# + ## ## ...# + ### ######## + # $$$ ## + ##### $ $ ##### +## #$ $ # # +#@ $ $ $ $ # +###### $$ $ ##### + # # + ######## diff --git a/compiler/screen_90.sokoban b/compiler/screen_90.sokoban new file mode 100644 index 0000000..92101f3 --- /dev/null +++ b/compiler/screen_90.sokoban @@ -0,0 +1,16 @@ +#################### +#..# # # +#.$ $ #$$ $## $## +#.$# ### ## ## # +# # $ # $$ $ # +# ### # # #$ #### +# ## # $ #@ # # +# $ $ ##.## $ # +# # $# $# $ ### +# # # # ### # +# ######## # # +# # #.#.# +##$########$# ...# +# .* # ##.#.# +# .*...* $ .....# +#################### diff --git a/default.properties b/default.properties new file mode 100644 index 0000000..e69de29 diff --git a/local.properties b/local.properties new file mode 100644 index 0000000..ab8f3ad --- /dev/null +++ b/local.properties @@ -0,0 +1,10 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must *NOT* be checked into Version Control Systems, +# as it contains information specific to your local configuration. + +# location of the SDK. This is only used by Ant +# For customization when using a Version Control System, please read the +# header note. +sdk.dir=C:\\Program Files (x86)\\Android\\android-sdk diff --git a/proguard-project.txt b/proguard-project.txt new file mode 100644 index 0000000..f2fe155 --- /dev/null +++ b/proguard-project.txt @@ -0,0 +1,20 @@ +# To enable ProGuard in your project, edit project.properties +# to define the proguard.config property as described in that file. +# +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in ${sdk.dir}/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the ProGuard +# include property in project.properties. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/project.properties b/project.properties new file mode 100644 index 0000000..214acdd --- /dev/null +++ b/project.properties @@ -0,0 +1,14 @@ +# This file is automatically generated by Android Tools. +# Do not modify this file -- YOUR CHANGES WILL BE ERASED! +# +# This file must be checked in Version Control Systems. +# +# To customize properties used by the Ant build system edit +# "ant.properties", and override values to adapt the script to your +# project structure. +# +# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): +proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt + +# Project target. +target=android-10 diff --git a/res/drawable/splash.png b/res/drawable/splash.png new file mode 100644 index 0000000000000000000000000000000000000000..4050e148ef0e14162ea8c59f32c0ec2245e9d97b GIT binary patch literal 13134 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 + + + +