Skip to content

Instantly share code, notes, and snippets.

@Stingby12
Last active April 9, 2024 11:51
Show Gist options
  • Save Stingby12/fbb37e6e1f7dd303fe150bbc06e7dde7 to your computer and use it in GitHub Desktop.
Save Stingby12/fbb37e6e1f7dd303fe150bbc06e7dde7 to your computer and use it in GitHub Desktop.
Sokoban 3D ! (Pattern:Script Script)
Play this game by pasting the script in https://clementsparrow.github.io/Pattern-Script/src/editor.html
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