Skip to content

Instantly share code, notes, and snippets.

@increpare
Created April 22, 2024 17:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save increpare/1ec51f17c00031ef03fff72ea91cb6b0 to your computer and use it in GitHub Desktop.
Save increpare/1ec51f17c00031ef03fff72ea91cb6b0 to your computer and use it in GitHub Desktop.
Autopush (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Autopush
author David Skinner
homepage www.sneezingtiger.com/sokoban/levels/microbanText.html
(My favourite set of sokoban levels - here're the first ten of the Microban set.
I tried contacting this guy, but he seems to have vanished from the net. The levels are in lots of places online, so I'm just chancing my arm by including them. BUT BE WARNED.)
require_player_movement
debug
verbose_logging
again_interval 0.05
run_rules_on_level_start
========
OBJECTS
========
Background
lightgreen green
11111
01111
11101
11111
10111
Target
darkblue
.....
.000.
.0.0.
.000.
.....
Wall
brown darkbrown
00010
11111
01000
11111
00010
Player
black orange white blue
.000.
.111.
22222
.333.
.3.3.
Crate
orange
00000
0...0
0...0
0...0
00000
no_neighbours
red
.....
.000.
.0.0.
.000.
.....
one_neighbour
red
.....
.....
..0..
.....
.....
multiple_neighbour
red
.....
..0..
.000.
..0..
.....
=======
LEGEND
=======
. = Background
# = Wall
P = Player
* = Crate
@ = Crate and Target
O = Target
tokens = one_neighbour or no_neighbours or multiple_neighbour
obstacle = crate or Wall
pusher = crate or Player
=======
SOUNDS
=======
Crate MOVE 36772507
endlevel 83744503
startgame 92244503
================
COLLISIONLAYERS
================
Background
Target
Player, Wall, Crate
tokens
======
RULES
======
[ ] -> again
[ Player one_neighbour | Crate | no obstacle ] -> [ Player | > Crate | ]
late [ tokens ] -> []
late down [ no obstacle one_neighbour | Crate | no obstacle ] -> [ multiple_neighbour | crate | ]
late down [ no obstacle no tokens | Crate | no obstacle ] -> [ one_neighbour | crate | ]
late left [ no obstacle one_neighbour | Crate | no obstacle ] -> [ multiple_neighbour | crate | ]
late left [ no obstacle no tokens | Crate | no obstacle ] -> [ one_neighbour | crate | ]
late right [ no obstacle one_neighbour | Crate | no obstacle ] -> [ multiple_neighbour | crate | ]
late right [ no obstacle no tokens | Crate | no obstacle ] -> [ one_neighbour | crate | ]
late up [ no obstacle one_neighbour | Crate | no obstacle ] -> [ multiple_neighbour | crate | ]
late up [ no obstacle no tokens | Crate | no obstacle ] -> [ one_neighbour | crate | ]
late [ multiple_neighbour ]->[]
==============
WINCONDITIONS
==============
all Target on Crate
=======
LEVELS
=======
(notrivial basic level)
#######
#.....#
#..@O.#
#.*O@.#
#..*..#
#.p...#
#######
(fine?)
#########
###...###
##..*..##
##..@..##
##..@..##
##..o..##
##..o..##
##..@..##
##..@..##
##p.*..##
###...###
#########
(not sure if it's better than the tighter one or not? might confuse people who try to mix the groups?)
#########
#o.....o#
#.......#
#..***..#
#.......#
#o.....o#
#.......#
#..***..#
#.p.....#
#o.....o#
#########
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#######
########
#......#
#......#
#......#
#......#
#......#
#......#
########
(19224 really hard, not sure how to think about this one? ----)
#######
#.....#
#o.*#o#
#..*..#
#p.@..#
#.....#
#######
(12679 really hard lol)
#######
##p...#
#...o.#
#o*..o#
#.**..#
###...#
#######
(super easy. too easy?)
#######
#.....#
#..p..#
#.*.o.#
#.....#
#.o.*.#
#######
(this should be possible but I'm so tired ^^)
###########
#.........#
#.@@......#
#.*..p..@.#
#......o@.#
#.........#
###########
(3200)
#######
#...p.#
#..*..#
#..o.o#
#.*...#
#.....#
#######
###############
##........#...#
##..*..*..##o.#
##..ooo.p.#o#.#
##.*o.@...#.o.#
###....#..#...#
#####.#########
..#.....#......
..#.....#......
..#..*..#......
..#.....#......
..#######......
###########
##........#
##..*..*..#
##..ooo.p.#
##.*o.@...#
###....#..#
#####.#####
..#.....#..
..#.....#..
..#..*..#..
..#.....#..
..#######..
###########
#.........#
#.........#
#.........#
#.........#
###########
#########
#.......#
#...o...#
#...@...#
#..*o*..#
#...@...#
#..*o*..#
#.p.o...#
#.......#
#########
(notrivial basic level)
#######
#.....#
#..@O.#
#.*O@.#
#..*..#
#p....#
#######
#######
#.po..#
#..*..#
#.*#o.#
#..*.##
#o....#
#######
########
#......#
#......#
#...o*.#
#...*..#
#.p..*o#
#...o..#
########
(solved by chance, sadface)
#######
#.....#
#..o*.#
#..*.p#
#...*o#
#..o..#
#######
o##########
#.........#
#..*.*.*..#
#.*.*.*.*.#
#..*.*.*..#
#.*.*.*.*.#
#..*.*.*..#
#.*.*.*.*.#
#..p......#
###########
######
#....#
#.#P.#
#.*@.#
#.O@.#
#....#
######
(can i do something with this one?)
.#######
.#.....#
.#.O*O.#
##.*.*.#
#..O*O.#
#p.....#
########
message level 2 of 10
######
#....#
#.#P.#
#.*@.#
#.O@.#
#....#
######
message level 4 of 10
########
#......#
#.O@@*P#
#......#
#####..#
....####
message level 5 of 10
.#######
.#.....#
.#..@O.#
##.*O@.#
#...*..#
#.p....#
########
message level 6 of 10
######.#####
#....###...#
#.**.....#P#
#.*.#OOO...#
#...########
#####.......
message level 7 of 10
#########
#...o...#
#...@...#
#..*o*..#
#...@...#
#..*o*..#
#.p.o...#
#########
message level 8 of 10
..######
..#.OOP#
..#.**.#
..##.###
...#.#..
...#.#..
####.#..
#....##.
#.#...#.
#...#.#.
###...#.
..#####.
message level 9 of 10
#####.
#O..##
#P**.#
##...#
.##..#
..##O#
...###
message level 10 of 10
......#####
......#O..#
......#O#.#
#######O#.#
#.P.*.*.*.#
#.#.#.#.###
#.......#..
#########..
message congratulations!
(
choose 5 [ ] -> [ wall ]
choose 1 [ no wall ] -> [ player ]
choose 4 [ no wall no player no crate ] -> [ crate ]
choose 4 [ no wall no player no target ] -> [ target ]
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment