Skip to content

Instantly share code, notes, and snippets.

@srpatel
Created November 15, 2022 10:22
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 srpatel/a76e552b9585446f233f6894ce80bdc4 to your computer and use it in GitHub Desktop.
Save srpatel/a76e552b9585446f233f6894ce80bdc4 to your computer and use it in GitHub Desktop.
Untitled PuzzleScript Script
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Painter/Decorator
author sunil
homepage www.puzzlescript.net
debug
verbose_logging
========
OBJECTS
========
Wall #
black
Wall2 :
gray
Floor .
gray
Background
pink
NeedsRoller
transparent green
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
NeedsBrush
transparent blue
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
NeedsOrush
transparent orange
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
NeedsEmpty
transparent pink
0 0 0 0 0
0 0 0 0 0
0 0 1 0 0
0 0 0 0 0
0 0 0 0 0
StripperW
gray lightgrey darkgrey
0 0 2 0 0
0 2 2 2 0
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
StripperA
gray lightgrey darkgrey
0 0 0 0 0
0 2 1 1 1
2 2 1 1 1
0 2 1 1 1
0 0 0 0 0
StripperS
gray lightgrey darkgrey
0 1 1 1 0
0 1 1 1 0
0 1 1 1 0
0 2 2 2 0
0 0 2 0 0
StripperD
gray lightgrey darkgrey
0 0 0 0 0
1 1 1 2 0
1 1 1 2 2
1 1 1 2 0
0 0 0 0 0
BrushW
gray blue brown
0 1 1 1 0
0 1 1 1 0
0 2 2 2 0
0 0 2 0 0
0 0 2 0 0
BrushA
gray blue brown
0 0 0 0 0
1 1 2 0 0
1 1 2 2 2
1 1 2 0 0
0 0 0 0 0
BrushS
gray blue brown
0 0 2 0 0
0 0 2 0 0
0 2 2 2 0
0 1 1 1 0
0 1 1 1 0
BrushD
gray blue brown
0 0 0 0 0
0 0 2 1 1
2 2 2 1 1
0 0 2 1 1
0 0 0 0 0
OrushW
gray orange brown
0 1 1 1 0
0 1 1 1 0
0 2 2 2 0
0 0 2 0 0
0 0 2 0 0
OrushA
gray orange brown
0 0 0 0 0
1 1 2 0 0
1 1 2 2 2
1 1 2 0 0
0 0 0 0 0
OrushS
gray orange brown
0 0 2 0 0
0 0 2 0 0
0 2 2 2 0
0 1 1 1 0
0 1 1 1 0
OrushD
gray orange brown
0 0 0 0 0
0 0 2 1 1
2 2 2 1 1
0 0 2 1 1
0 0 0 0 0
RollerW
gray green brown
0 1 1 1 0
0 1 1 1 2
0 0 0 0 2
0 2 2 2 2
0 2 0 0 0
RollerA
gray green brown
0 2 2 2 0
1 1 0 2 0
1 1 0 2 0
1 1 0 2 2
0 0 0 0 0
RollerS
gray green brown
0 0 0 2 0
2 2 2 2 0
2 0 0 0 0
2 1 1 1 0
0 1 1 1 0
RollerD
gray green brown
0 0 0 0 0
2 2 0 1 1
0 2 0 1 1
0 2 0 1 1
0 2 2 2 0
EmptyBrush5W
gray pink brown darkgray
1 1 1 1 1
1 1 1 1 1
2 2 2 2 2
0 0 2 0 0
0 0 2 0 0
EmptyBrush4W
gray pink brown darkgray
1 1 1 1 3
1 1 1 1 3
2 2 2 2 2
0 0 2 0 0
0 0 2 0 0
EmptyBrush3W
gray pink brown darkgray
1 1 1 3 3
1 1 1 3 3
2 2 2 2 2
0 0 2 0 0
0 0 2 0 0
EmptyBrush2W
gray pink brown darkgray
1 1 3 3 3
1 1 3 3 3
2 2 2 2 2
0 0 2 0 0
0 0 2 0 0
EmptyBrush1W
gray pink brown darkgray
1 3 3 3 3
1 3 3 3 3
2 2 2 2 2
0 0 2 0 0
0 0 2 0 0
EmptyBrush0W
gray pink brown darkgray
3 3 3 3 3
3 3 3 3 3
2 2 2 2 2
0 0 2 0 0
0 0 2 0 0
EmptyBrush5A
gray pink brown darkgray
1 1 2 0 0
1 1 2 0 0
1 1 2 2 2
1 1 2 0 0
1 1 2 0 0
EmptyBrush5S
gray pink brown darkgray
0 0 2 0 0
0 0 2 0 0
2 2 2 2 2
1 1 1 1 1
1 1 1 1 1
EmptyBrush5D
gray pink brown darkgray
0 0 2 1 1
0 0 2 1 1
2 2 2 1 1
0 0 2 1 1
0 0 2 1 1
EmptyBrush4A
gray pink brown darkgray
3 3 2 0 0
1 1 2 0 0
1 1 2 2 2
1 1 2 0 0
1 1 2 0 0
EmptyBrush4S
gray pink brown darkgray
0 0 2 0 0
0 0 2 0 0
2 2 2 2 2
3 1 1 1 1
3 1 1 1 1
EmptyBrush4D
gray pink brown darkgray
0 0 2 1 1
0 0 2 1 1
2 2 2 1 1
0 0 2 1 1
0 0 2 3 3
EmptyBrush3A
gray pink brown darkgray
3 3 2 0 0
3 3 2 0 0
1 1 2 2 2
1 1 2 0 0
1 1 2 0 0
EmptyBrush3S
gray pink brown darkgray
0 0 2 0 0
0 0 2 0 0
2 2 2 2 2
3 3 1 1 1
3 3 1 1 1
EmptyBrush3D
gray pink brown darkgray
0 0 2 1 1
0 0 2 1 1
2 2 2 1 1
0 0 2 3 3
0 0 2 3 3
EmptyBrush2A
gray pink brown darkgray
3 3 2 0 0
3 3 2 0 0
3 3 2 2 2
1 1 2 0 0
1 1 2 0 0
EmptyBrush2S
gray pink brown darkgray
0 0 2 0 0
0 0 2 0 0
2 2 2 2 2
3 3 3 1 1
3 3 3 1 1
EmptyBrush2D
gray pink brown darkgray
0 0 2 1 1
0 0 2 1 1
2 2 2 3 3
0 0 2 3 3
0 0 2 3 3
EmptyBrush1A
gray pink brown darkgray
3 3 2 0 0
3 3 2 0 0
3 3 2 2 2
3 3 2 0 0
1 1 2 0 0
EmptyBrush1S
gray pink brown darkgray
0 0 2 0 0
0 0 2 0 0
2 2 2 2 2
3 3 3 3 1
3 3 3 3 1
EmptyBrush1D
gray pink brown darkgray
0 0 2 1 1
0 0 2 3 3
2 2 2 3 3
0 0 2 3 3
0 0 2 3 3
EmptyBrush0A
gray pink brown darkgray
3 3 2 0 0
3 3 2 0 0
3 3 2 2 2
3 3 2 0 0
3 3 2 0 0
EmptyBrush0S
gray pink brown darkgray
0 0 2 0 0
0 0 2 0 0
2 2 2 2 2
3 3 3 3 3
3 3 3 3 3
EmptyBrush0D
gray pink brown darkgray
0 0 2 3 3
0 0 2 3 3
2 2 2 3 3
0 0 2 3 3
0 0 2 3 3
BrushTail
blue
OrushTail
orange
RollerTail
green
EmptyBrushTail
pink
=======
LEGEND
=======
EmptyBrush5 = EmptyBrush5W or EmptyBrush5A or EmptyBrush5S or EmptyBrush5D
EmptyBrush4 = EmptyBrush4W or EmptyBrush4A or EmptyBrush4S or EmptyBrush4D
EmptyBrush3 = EmptyBrush3W or EmptyBrush3A or EmptyBrush3S or EmptyBrush3D
EmptyBrush2 = EmptyBrush2W or EmptyBrush2A or EmptyBrush2S or EmptyBrush2D
EmptyBrush1 = EmptyBrush1W or EmptyBrush1A or EmptyBrush1S or EmptyBrush1D
EmptyBrush0 = EmptyBrush0W or EmptyBrush0A or EmptyBrush0S or EmptyBrush0D
EmptyBrush = EmptyBrush5 or EmptyBrush4 or EmptyBrush3 or EmptyBrush2 or EmptyBrush1 or EmptyBrush0
PaintingEmptyBrush = EmptyBrush5 or EmptyBrush4 or EmptyBrush3 or EmptyBrush2 or EmptyBrush1
Brush = BrushW or BrushA or BrushS or BrushD
Orush = OrushW or OrushA or OrushS or OrushD
Roller = RollerW or RollerA or RollerS or RollerD
Stripper = StripperW or StripperA or StripperS or StripperD
Player = Brush or Orush or Roller or Stripper or EmptyBrush
NormalPlayer = Brush or Roller or EmptyBrush
Tail = BrushTail or OrushTail or RollerTail or EmptyBrushTail
Winnable = Wall or Player or Tail
Needs = NeedsRoller or NeedsBrush or NeedsOrush or NeedsEmpty
Paintable = Floor
1 = Floor and NeedsBrush
2 = Floor and NeedsOrush
3 = Floor and NeedsRoller
4 = Floor and NeedsEmpty
S = StripperW
R = RollerW
O = OrushS
P = BrushW
E = EmptyBrush5W
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Floor
Tail
Player
Needs
Wall Wall2
======
RULES
======
STARTLOOP
(Invalid move, only individually)
(Buuuut, need to try this piece again in a bit!)
(Blue Brush -- moves with arrow)
[ Down Brush ] -> [ Down BrushW ]
+ [ Up Brush ] -> [ Up BrushS ]
+ [ Left Brush ] -> [ Left BrushD ]
+ [ Right Brush ] -> [ Right BrushA ]
[ > Brush | Paintable ] -> [ BrushTail | Brush ]
(Empty Brush -- moves with arrow)
[ Down EmptyBrush0 ] -> [ Down EmptyBrush0W ]
+ [ Up EmptyBrush0 ] -> [ Up EmptyBrush0S ]
+ [ Left EmptyBrush0 ] -> [ Left EmptyBrush0D ]
+ [ Right EmptyBrush0 ] -> [ Right EmptyBrush0A ]
Down [ Down EmptyBrush1 | Paintable ] -> [ EmptyBrushTail | EmptyBrush0W ]
+ Up [ Up EmptyBrush1 | Paintable ] -> [ EmptyBrushTail | EmptyBrush0S ]
+ Left[ Left EmptyBrush1 | Paintable ] -> [ EmptyBrushTail | EmptyBrush0D ]
+ Right [ Right EmptyBrush1 | Paintable ] -> [ EmptyBrushTail | EmptyBrush0A ]
Down [ Down EmptyBrush2 | Paintable ] -> [ EmptyBrushTail | EmptyBrush1W ]
+ Up [ Up EmptyBrush2 | Paintable ] -> [ EmptyBrushTail | EmptyBrush1S ]
+ Left[ Left EmptyBrush2 | Paintable ] -> [ EmptyBrushTail | EmptyBrush1D ]
+ Right [ Right EmptyBrush2 | Paintable ] -> [ EmptyBrushTail | EmptyBrush1A ]
Down [ Down EmptyBrush3 | Paintable ] -> [ EmptyBrushTail | EmptyBrush2W ]
+ Up [ Up EmptyBrush3 | Paintable ] -> [ EmptyBrushTail | EmptyBrush2S ]
+ Left[ Left EmptyBrush3 | Paintable ] -> [ EmptyBrushTail | EmptyBrush2D ]
+ Right [ Right EmptyBrush3 | Paintable ] -> [ EmptyBrushTail | EmptyBrush2A ]
Down [ Down EmptyBrush4 | Paintable ] -> [ EmptyBrushTail | EmptyBrush3W ]
+ Up [ Up EmptyBrush4 | Paintable ] -> [ EmptyBrushTail | EmptyBrush3S ]
+ Left[ Left EmptyBrush4 | Paintable ] -> [ EmptyBrushTail | EmptyBrush3D ]
+ Right [ Right EmptyBrush4 | Paintable ] -> [ EmptyBrushTail | EmptyBrush3A ]
Down [ Down EmptyBrush5 | Paintable ] -> [ EmptyBrushTail | EmptyBrush4W ]
+ Up [ Up EmptyBrush5 | Paintable ] -> [ EmptyBrushTail | EmptyBrush4S ]
+ Left[ Left EmptyBrush5 | Paintable ] -> [ EmptyBrushTail | EmptyBrush4D ]
+ Right [ Right EmptyBrush5 | Paintable ] -> [ EmptyBrushTail | EmptyBrush4A ]
[ > PaintingEmptyBrush | Paintable ] -> [ EmptyBrushTail | PaintingEmptyBrush ]
[ > EmptyBrush0 | Paintable ] -> [ Paintable | EmptyBrush0 ]
(Stripper -- moves with arrow)
[ Down Stripper ] -> [ Down StripperW ]
+ [ Up Stripper ] -> [ Up StripperS ]
+ [ Left Stripper ] -> [ Left StripperD ]
+ [ Right Stripper ] -> [ Right StripperA ]
[ > Stripper | Tail ] -> [ Floor | Stripper ]
[ > Stripper NO Floor | Floor ] -> [ Floor | Stripper ]
(Orange Brush -- moves opposite to arrow)
[ Down Orush ] -> [ Down OrushS ]
+ [ Up Orush ] -> [ Up OrushW ]
+ [ Left Orush ] -> [ Left OrushA ]
+ [ Right Orush ] -> [ Right OrushD ]
[ Paintable | > Orush ] -> [ Orush | OrushTail ]
(Roller -- moves as far as possible)
[ Down Roller ] -> [ Down RollerW ]
+ [ Up Roller ] -> [ Up RollerS ]
+ [ Left Roller ] -> [ Left RollerD ]
+ [ Right Roller ] -> [ Right RollerA ]
[ > Roller | Paintable | Paintable | Paintable | Paintable | Paintable | Paintable | Paintable | Paintable ] -> [ RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable | Paintable | Paintable | Paintable | Paintable | Paintable | Paintable ] -> [ RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable | Paintable | Paintable | Paintable | Paintable | Paintable ] -> [ RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable | Paintable | Paintable | Paintable | Paintable ] -> [ RollerTail | RollerTail | RollerTail | RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable | Paintable | Paintable | Paintable ] -> [ RollerTail | RollerTail | RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable | Paintable | Paintable ] -> [ RollerTail | RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable | Paintable ] -> [ RollerTail | RollerTail | Roller ]
+ [ > Roller | Paintable ] -> [ RollerTail | Roller ]
ENDLOOP
[ > NormalPlayer | NO Paintable ] -> [ NormalPlayer | NO Paintable ]
[ > Stripper | Wall ] -> [ Stripper | Wall ]
[ NO Paintable | > Orush ] -> [ NO Paintable | Orush ]
==============
WINCONDITIONS
==============
(whole grid is painted or wall)
All Background On Winnable
All NeedsRoller On RollerTail
All NeedsBrush On BrushTail
All NeedsOrush On OrushTail
All NeedsEmpty On EmptyBrushTail
=======
LEVELS
=======
(1 - Brushes)
#########
#.......#
#.......#
#.......#
#.......#
#......P#
#########
#########
#......2#
#.......#
#..O#P..#
#.......#
#1......#
#########
#########
#......2#
#.......#
#...2...#
#..2....#
#O....P.#
#########
(2 - Rollers)
#########
#3......#
#.......#
#..P.R..#
#.......#
#..1....#
#########
#########
#......P#
#.......#
#.RR....#
#1......#
#.......#
#########
#########
#O.....P#
#...R...#
#.......#
#.R.....#
#R..1...#
#########
(3 - Running out of paint)
#########
#E.....P#
#.......#
#.......#
#.......#
#1......#
#########
#########
#4.E....#
#.4.3...#
#..P....#
#.....R.#
#.......#
#########
#########
#.......#
#.......#
#.......#
#.......#
#EEE.EEE#
#########
(4 - Strippers)
#########
#.......#
#......P#
#O.S....#
#.R.....#
#.......#
#########
(5 - A bit of everything)
#########
#.......#
#R......#
#..4OR..#
#.......#
#E.....P#
#########
#########
#E..3..3#
#R......#
#P......#
#O......#
#S..3..3#
#########
MESSAGE You are a master painter/decorator, well done!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment