Skip to content

Instantly share code, notes, and snippets.

@increpare
Created April 22, 2024 14:50
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/83da0f8a4373365bd063ea0fb50a5079 to your computer and use it in GitHub Desktop.
Save increpare/83da0f8a4373365bd063ea0fb50a5079 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
=======
#######
#.....#
#..o*.#
#..*.p#
#...*o#
#..o..#
#######
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#######
#########
#.......#
#.......#
#.......#
#.......#
#.......#
#########
###########
#.........#
#.........#
#.........#
#.........#
###########
#########
#.......#
#...o...#
#...@...#
#..*o*..#
#...@...#
#..*o*..#
#.p.o...#
#.......#
#########
(notrivial basic level)
#######
#.....#
#..@O.#
#.*O@.#
#..*..#
#p....#
#######
#######
#.po..#
#..*..#
#.*#o.#
#..*.##
#o....#
#######
########
#......#
#......#
#...o*.#
#...*..#
#.p..*o#
#...o..#
########
#######
#.....#
#..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 3 [ ] -> [ wall ]
choose 1 [ no wall ] -> [ player ]
choose 3 [ no wall no player no crate ] -> [ crate ]
choose 3 [ 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