Last active
April 9, 2024 11:51
-
-
Save Stingby12/fbb37e6e1f7dd303fe150bbc06e7dde7 to your computer and use it in GitHub Desktop.
Sokoban 3D ! (Pattern:Script Script)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in https://clementsparrow.github.io/Pattern-Script/src/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title Sokoban 3D ! | |
author Stingby12 | |
homepage www.sneezingtiger.com/sokoban/levels/microbanText.html | |
color_palette 9 | |
run_rules_on_level_start | |
background_color #222222 | |
key_repeat_interval 0.3 | |
zoomscreen 5x5 | |
======== | |
OBJECTS | |
======== | |
APRILFOOLS | |
white black | |
..000000.. | |
.00000000. | |
0000000000 | |
0110000110 | |
0110000110 | |
0000000000 | |
0111111110 | |
0011111100 | |
.00111100. | |
..000000.. | |
Background | |
gray gray | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
Target | |
yellow | |
..... | |
.000. | |
.0.0. | |
.000. | |
..... | |
Wall | |
black | |
PlrU | |
Black Orange White Blue | |
.333. | |
.333. | |
33333 | |
.333. | |
.3.3. | |
PlrD | |
Black Orange White Blue | |
copy: PlrU - | |
PlrL | |
Black Orange White Blue | |
copy: PlrU rot:up:left | |
PlrR | |
Black Orange White Blue | |
copy: PlrU rot:up:right | |
CrateP | |
red | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
CrateL | |
green | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
TargetX | |
transparent | |
Player | |
transparent | |
ChkL | |
transparent | |
ChkR | |
transparent | |
ChkU | |
transparent | |
SetL | |
black | |
00000 | |
00... | |
0.... | |
00... | |
00000 | |
SetR | |
black | |
copy: SetL | | |
SetU | |
black | |
00000 | |
..... | |
..... | |
..... | |
00000 | |
WallSet | |
#222222 | |
CratePSet | |
red | |
CrtPBlkSet | |
darkred | |
CrtPWinSet | |
orange | |
CrateLSet | |
green | |
CrtLBlkSet | |
darkgreen | |
CrtLWinSet | |
lightblue | |
TargetSet | |
blue | |
======= | |
LEGEND | |
======= | |
. = Background | |
# = Wall | |
U = PlrU | |
D = PlrD | |
L = PlrL | |
R = PlrR | |
* = CrateP | |
@ = CrateP and Target and TargetX | |
+ = CrateL | |
€ = CrateL and Target and TargetX | |
O = Target | |
- = Player and SetU | |
/ = SetL | |
\ = SetR | |
PlrX = PlrU or PlrD or PlrL or PlrR | |
Crate = CrateP or CrateL | |
Block = Crate or Wall | |
Chk = ChkU or ChkL or ChkR | |
Set = SetU or SetL or SetR | |
SetX = WallSet or CratePSet or CrtPBlkSet or CrtPWinSet or CrateLSet or CrtLBlkSet or CrtLWinSet or TargetSet | |
======= | |
SOUNDS | |
======= | |
PlrX move 72757307 | |
PlrX destroy 72670107 | |
CrateP move 36772507 | |
CrateL move 90119207 | |
TargetX create 70295100 | |
endlevel 83744503 | |
startgame 92244503 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
Target | |
TargetX | |
PlrX, Block | |
Chk | |
Player | |
SetX | |
Set | |
====== | |
RULES | |
====== | |
[ Chk ] -> [ ] | |
[ SetX ] -> [ ] | |
late up [ PlrU | ] -> [ PlrU | ChkU ] | |
late left [ PlrU | ] -> [ PlrU | ChkL ] | |
late right [ PlrU | ] -> [ PlrU | ChkR ] | |
late right [ PlrR | ] -> [ PlrR | ChkU ] | |
late up [ PlrR | ] -> [ PlrR | ChkL ] | |
late down [ PlrR | ] -> [ PlrR | ChkR ] | |
late down [ PlrD | ] -> [ PlrD | ChkU ] | |
late right [ PlrD | ] -> [ PlrD | ChkL ] | |
late left [ PlrD | ] -> [ PlrD | ChkR ] | |
late left [ PlrL | ] -> [ PlrL | ChkU ] | |
late down [ PlrL | ] -> [ PlrL | ChkL ] | |
late up [ PlrL | ] -> [ PlrL | ChkR ] | |
late [ ChkU Wall ] [ SetU ] -> [ ChkU Wall ] [ SetU WallSet ] | |
late [ ChkL Wall ] [ SetL ] -> [ ChkL Wall ] [ SetL WallSet ] | |
late [ ChkR Wall ] [ SetR ] -> [ ChkR Wall ] [ SetR WallSet ] | |
late [ ChkU CrateP ] [ SetU ] -> [ ChkU CrateP ] [ SetU CratePSet ] | |
late [ ChkL CrateP ] [ SetL ] -> [ ChkL Cratep ] [ SetL CratePSet ] | |
late [ ChkR CrateP ] [ SetR ] -> [ ChkR CrateP ] [ SetR CratePSet ] | |
late [ ChkU CrateL ] [ SetU ] -> [ ChkU CrateL ] [ SetU CrateLSet ] | |
late [ ChkL CrateL ] [ SetL ] -> [ ChkL CrateL ] [ SetL CrateLSet ] | |
late [ ChkR CrateL ] [ SetR ] -> [ ChkR CrateL ] [ SetR CrateLSet ] | |
late [ ChkU Target ] [ SetU ] -> [ ChkU Target ] [ SetU TargetSet ] | |
late [ ChkL Target ] [ SetL ] -> [ ChkL Target ] [ SetL TargetSet ] | |
late [ ChkR Target ] [ SetR ] -> [ ChkR Target ] [ SetR TargetSet ] | |
late up [ PlrU | ChkU CrateP | Block ] [ SetU no WallSet ] -> [ PlrU | ChkU CrateP | Block ] [ SetU CrtPBlkSet ] | |
late up [ PlrR | ChkL CrateP | Block ] [ SetL no WallSet ] -> [ PlrR | ChkL CrateP | Block ] [ SetL CrtPBlkSet ] | |
late up [ PlrL | ChkR CrateP | Block ] [ SetR no WallSet ] -> [ PlrL | ChkR CrateP | Block ] [ SetR CrtPBlkSet ] | |
late down [ PlrD | ChkU CrateP | Block ] [ SetU no WallSet ] -> [ PlrD | ChkU CrateP | Block ] [ SetU CrtPBlkSet ] | |
late down [ PlrL | ChkL CrateP | Block ] [ SetL no WallSet ] -> [ PlrL | ChkL CrateP | Block ] [ SetL CrtPBlkSet ] | |
late down [ PlrR | ChkR CrateP | Block ] [ SetR no WallSet ] -> [ PlrR | ChkR CrateP | Block ] [ SetR CrtPBlkSet ] | |
late left [ PlrL | ChkU CrateP | Block ] [ SetU no WallSet ] -> [ PlrL | ChkU CrateP | Block ] [ SetU CrtPBlkSet ] | |
late left [ PlrU | ChkL CrateP | Block ] [ SetL no WallSet ] -> [ PlrU | ChkL CrateP | Block ] [ SetL CrtPBlkSet ] | |
late left [ PlrD | ChkR CrateP | Block ] [ SetR no WallSet ] -> [ PlrD | ChkR CrateP | Block ] [ SetR CrtPBlkSet ] | |
late right [ PlrR | ChkU CrateP | Block ] [ SetU no WallSet ] -> [ PlrR | ChkU CrateP | Block ] [ SetU CrtPBlkSet ] | |
late right [ PlrD | ChkL CrateP | Block ] [ SetL no WallSet ] -> [ PlrD | ChkL CrateP | Block ] [ SetL CrtPBlkSet ] | |
late right [ PlrU | ChkR CrateP | Block ] [ SetR no WallSet ] -> [ PlrU | ChkR CrateP | Block ] [ SetR CrtPBlkSet ] | |
late [ ChkU CrateP Target ] [ SetU ] -> [ ChkU CrateP Target ] [ SetU CrtPWinSet ] | |
late [ ChkL CrateP Target ] [ SetL ] -> [ ChkL CrateP Target ] [ SetL CrtPWinSet ] | |
late [ ChkR CrateP Target ] [ SetR ] -> [ ChkR CrateP Target ] [ SetR CrtPWinSet ] | |
late up [ ChkU CrateL | PlrD | Block ] [ SetU no WallSet ] -> [ ChkU CrateL | PlrD | Block ] [ SetU CrtLBlkSet ] | |
late up [ ChkL CrateL | PlrL | Block ] [ SetL no WallSet ] -> [ ChkL CrateL | PlrL | Block ] [ SetL CrtLBlkSet ] | |
late up [ ChkR CrateL | PlrR | Block ] [ SetR no WallSet ] -> [ ChkR CrateL | PlrR | Block ] [ SetR CrtLBlkSet ] | |
late down [ ChkU CrateL | PlrU | Block ] [ SetU no WallSet ] -> [ ChkU CrateL | PlrU | Block ] [ SetU CrtLBlkSet ] | |
late down [ ChkL CrateL | PlrR | Block ] [ SetL no WallSet ] -> [ ChkL CrateL | PlrR | Block ] [ SetL CrtLBlkSet ] | |
late down [ ChkR CrateL | PlrL | Block ] [ SetR no WallSet ] -> [ ChkR CrateL | PlrL | Block ] [ SetR CrtLBlkSet ] | |
late left [ ChkU CrateL | PlrR | Block ] [ SetU no WallSet ] -> [ ChkU CrateL | PlrR | Block ] [ SetU CrtLBlkSet ] | |
late left [ ChkL CrateL | PlrD | Block ] [ SetL no WallSet ] -> [ ChkL CrateL | PlrD | Block ] [ SetL CrtLBlkSet ] | |
late left [ ChkR CrateL | PlrU | Block ] [ SetR no WallSet ] -> [ ChkR CrateL | PlrU | Block ] [ SetR CrtLBlkSet ] | |
late right [ ChkU CrateL | PlrL | Block ] [ SetU no WallSet ] -> [ ChkU CrateL | PlrL | Block ] [ SetU CrtLBlkSet ] | |
late right [ ChkL CrateL | PlrU | Block ] [ SetL no WallSet ] -> [ ChkL CrateL | PlrU | Block ] [ SetL CrtLBlkSet ] | |
late right [ ChkR CrateL | PlrD | Block ] [ SetR no WallSet ] -> [ ChkR CrateL | PlrD | Block ] [ SetR CrtLBlkSet ] | |
late [ ChkU CrateL Target ] [ SetU ] -> [ ChkU CrateL Target ] [ SetU CrtLWinSet ] | |
late [ ChkL CrateL Target ] [ SetL ] -> [ ChkL CrateL Target ] [ SetL CrtLWinSet ] | |
late [ ChkR CrateL Target ] [ SetR ] -> [ ChkR CrateL Target ] [ SetR CrtLWinSet ] | |
[ up Player ] [ PlrU ] -> [ Player ] [ up PlrU ] | |
[ up Player ] [ PlrD ] -> [ Player ] [ down PlrD ] | |
[ up Player ] [ PlrL ] -> [ Player ] [ left PlrL ] | |
[ up Player ] [ PlrR ] -> [ Player ] [ right PlrR ] | |
[ down Player ] [ PlrU ] -> [ Player ] [ down PlrU ] | |
[ down Player ] [ PlrD ] -> [ Player ] [ up PlrD ] | |
[ down Player ] [ PlrL ] -> [ Player ] [ right PlrL ] | |
[ down Player ] [ PlrR ] -> [ Player ] [ left PlrR ] | |
[ left Player ] [ PlrU ] -> [ Player ] [ PlrL ] | |
[ left Player ] [ PlrL ] -> [ Player ] [ PlrD ] | |
[ left Player ] [ PlrD ] -> [ Player ] [ PlrR ] | |
[ left Player ] [ PlrR ] -> [ Player ] [ PlrU ] | |
[ right Player ] [ PlrU ] -> [ Player ] [ PlrR ] | |
[ right Player ] [ PlrR ] -> [ Player ] [ PlrD ] | |
[ right Player ] [ PlrD ] -> [ Player ] [ PlrL ] | |
[ right Player ] [ PlrL ] -> [ Player ] [ PlrU ] | |
[ > PlrX | CrateP ] -> [ > PlrX | > CrateP ] | |
[ < PlrX | CrateL ] -> [ < PlrX | < CrateL ] | |
late [ Crate Target ] -> [ Crate Target TargetX ] | |
late [ TargetX no Crate ] -> [ ] | |
============== | |
WINCONDITIONS | |
============== | |
All Target on Crate | |
======= | |
LEVELS | |
======= | |
message | . | Basic microban knowledge | | |
message | . |__....| | |
level | . | . | | |
########## | |
#.o####### | |
#..####### | |
#@u..#/-\# | |
#..*.##### | |
#..####### | |
########## | |
message | .| . ...| | |
level | . | .| | |
########## | |
#....##### | |
#.#d.##### | |
#.*@.#/-\# | |
#.o@.##### | |
#....##### | |
########## | |
message | _.| . ...| | |
level | . | _.| | |
############# | |
###..######## | |
#.....*.##### | |
#.#..#*.#/-\# | |
#.o.o#r.##### | |
############# | |
message |._ | . ...| | |
level | . |._ | | |
######## | |
#......# | |
#.o@@*l# | |
#......# | |
#####..# | |
######## | |
#/-\#### | |
######## | |
######## | |
message |__.| . ...| | |
level | . |__.| | |
########### | |
########### | |
#/-\#.....# | |
#####.o*o.# | |
#####.*r*.# | |
####..o*o.# | |
####......# | |
########### | |
message |_..| . ...| | |
level | . |_..| | |
############ | |
#....###...# | |
#.**.....#l# | |
#.*.#ooo...# | |
#...######## | |
############ | |
#######/-\## | |
############ | |
############ | |
message | ..| . ...| | |
level | . | ..| | |
########### | |
#####.....# | |
#####.*o*.# | |
#/-\#.o*o.# | |
#####.*o*.# | |
#####.o*o.# | |
#####..u..# | |
########### | |
message |._.| . ...| | |
level | . |._.| | |
######### | |
####.ood# | |
####.**.# | |
#####.### | |
#####.### | |
#####.### | |
#####.### | |
#/-\#.### | |
#####.### | |
#####.### | |
#####.### | |
#####.### | |
##....### | |
##.#...## | |
##...#.## | |
####...## | |
######### | |
message |.._| . ...| | |
level | . |.._| | |
###### | |
###### | |
#/-\## | |
###### | |
###### | |
#o..## | |
#r**.# | |
##...# | |
###..# | |
####o# | |
###### | |
message | . ...| . ...| | |
level | . | . ...| | |
########### | |
########### | |
##/-\##o..# | |
#######o#.# | |
#######o#.# | |
#.r.*.*.*.# | |
#.#.#.#.### | |
#.......### | |
########### | |
message | .| Open playground | | |
message | . | ..| | |
level | .| . | | |
######### | |
######### | |
###/-\### | |
######### | |
######### | |
#o..*...# | |
#o..*...# | |
#o.r*...# | |
#o..*...# | |
#o..*...# | |
######### | |
message | .| ..| | |
level | .| .| | |
####### | |
####### | |
##/-\## | |
####### | |
####### | |
#o.*..# | |
#o.*..# | |
#or*..# | |
#o.*..# | |
#o.*..# | |
####### | |
message | _.| ..| | |
level | .| _.| | |
######### | |
######### | |
###/-\### | |
######### | |
######### | |
#..*o.*o# | |
#..*o.*o# | |
#.r*o.*o# | |
#..*o.*o# | |
#..*o.*o# | |
######### | |
message |._ | ..| | |
level | .|._ | | |
########### | |
########### | |
####/-\#### | |
########### | |
########### | |
#...###...# | |
#..*o.o*..# | |
#..*oro*..# | |
#..*o.o*..# | |
#...###...# | |
########### | |
message |__.| ..| | |
level | .|__.| | |
######### | |
######### | |
###/-\### | |
######### | |
######### | |
##.....## | |
#..o.o..# | |
#.o***o.# | |
#..*u*..# | |
#.o***o.# | |
#..o.o..# | |
##.....## | |
######### | |
message |_..| ..| | |
level | .|_..| | |
######### | |
######### | |
###/-\### | |
######### | |
######### | |
#..*o*o.# | |
#..o*o*.# | |
#..*o*ol# | |
#..o*o*.# | |
#..*o*o.# | |
######### | |
message | ..| ..| | |
level | .| ..| | |
####### | |
####### | |
##/-\## | |
####### | |
####### | |
#.o.o.# | |
#o***o# | |
#.*u*.# | |
#o***o# | |
#.o.o.# | |
####### | |
message | _.| Pulling my leg | | |
message | . |._.| | |
level | _.| . | | |
########## | |
#..####### | |
#.o####### | |
#..####### | |
#€u..#/-\# | |
#..+.##### | |
#..####### | |
########## | |
message | .|._.| | |
level | _.| .| | |
######## | |
######## | |
####/-\# | |
######## | |
#..##### | |
#......# | |
#.o€€+l# | |
#......# | |
######## | |
######## | |
######## | |
message | _.|._.| | |
level | _.| _.| | |
######## | |
######## | |
##/-\### | |
######## | |
######## | |
#.....## | |
#.+o+.## | |
#.oro.## | |
#.+o+..# | |
#......# | |
######## | |
message |._ |._.| | |
level | _.|._ | | |
####### | |
####### | |
##/-\## | |
####### | |
####### | |
##.+.## | |
#.o.o.# | |
#+.u.+# | |
#.o.o.# | |
##.+.## | |
####### | |
message |__.|._.| | |
level | _.|__.| | |
############# | |
###..######## | |
#.....o.##### | |
#.#..#o.#/-\# | |
#.+u+#..##### | |
############# | |
message |_..|._.| | |
level | _.|_..| | |
########### | |
#..d..##### | |
#.o+o.##### | |
#.+o+.##### | |
#.o+o.#/-\# | |
#.+o+.##### | |
#.....##### | |
########### | |
message | ..|._.| | |
level | _.| ..| | |
########### | |
#...###...# | |
#...o.oo#l# | |
#..#+++...# | |
#..######## | |
########### | |
####/-\#### | |
########### | |
########### | |
message |._.|._.| | |
level | _.|._.| | |
########### | |
#..d..##### | |
#.....##### | |
#o+o+.##### | |
#+o€o+#/-\# | |
#.+o+o##### | |
#.....##### | |
########### | |
message |._ | Duality | | |
message | . | . ...| | |
level |._ | . | | |
########## | |
########## | |
#...##/-\# | |
#.*u.##### | |
##.+.##### | |
###.o...## | |
###.o.#.## | |
#####...## | |
########## | |
message | .| . ...| | |
level |._ | .| | |
############ | |
############ | |
#/-\##....## | |
######.##u## | |
#####..#.+.# | |
####.oo..*.# | |
####...#...# | |
####..###### | |
############ | |
message | _.| . ...| | |
level |._ | _.| | |
######### | |
######### | |
#.d.#/-\# | |
#ooo##### | |
#+*+##### | |
#....#### | |
#....#### | |
######### | |
message |._ | . ...| | |
level |._ |._ | | |
######### | |
######### | |
#..##/-\# | |
#ro.##### | |
#.o*##### | |
##€...### | |
##.*..### | |
##..##### | |
######### | |
message |__.| . ...| | |
level |._ |__.| | |
######### | |
######### | |
#####/-\# | |
######### | |
##..##### | |
##.*+.### | |
##oooo### | |
#..*+.### | |
#...r#### | |
######### | |
message |_..| . ...| | |
level |._ |_..| | |
############ | |
############ | |
#..#####/-\# | |
#.o.######## | |
#.o....##### | |
##u##...#### | |
#.o...+*#### | |
#.o.#.*+.### | |
#..##....### | |
############ | |
############ | |
message | ..| . ...| | |
level |._ | ..| | |
############### | |
###########...# | |
###..#/-\#....# | |
##.o.#####.*.## | |
##o.o#####*.*## | |
#..o.o...*.*.## | |
#.o.o.ou*.*.*## | |
##.o.o...*.*.## | |
########.....## | |
############### | |
message |._.| . ...| | |
level |._ |._.| | |
############### | |
###########...# | |
###..#/-\#....# | |
##.o.#####.+.## | |
##o.o#####*.+## | |
#..o.o...+.*.## | |
#.o.o.ou*.+.*## | |
##.o.o...*.+.## | |
########.....## | |
############### | |
message |.._| . ...| | |
level |._ |.._| | |
########### | |
########### | |
####/-\#### | |
########### | |
########### | |
##...#...## | |
#...+#*...# | |
#..€o#o@..# | |
#.+o...o*.# | |
####.u.#### | |
#.*o...o+.# | |
#..@o#o€..# | |
#...*#+...# | |
##...#...## | |
########### | |
message | . ...| . ...| | |
level |._ | . ...| | |
############## | |
#####.......## | |
#####.+*+*+..# | |
#####.*+*+*..# | |
#####.+*.*+..# | |
#/-\#.@€@€@..# | |
#####.€@€@€..# | |
#####.oouoo.## | |
#####.ooooo.## | |
#####.ooooo.## | |
#####.......## | |
############## | |
message | CONGRATULATIONS | | |
level | END | | |
o#########o | |
########### | |
####/-\#### | |
########### | |
########### | |
##.*###*.## | |
#*..*#*..*# | |
#*.......*# | |
##*..u..*## | |
###*...*### | |
####...#### | |
#####.##### | |
########### | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment