Created
November 15, 2022 10:22
-
-
Save srpatel/a76e552b9585446f233f6894ce80bdc4 to your computer and use it in GitHub Desktop.
Untitled PuzzleScript 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 http://www.puzzlescript.net/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 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