Created
July 4, 2021 23:14
-
-
Save pancelor/bdc5ef4079a58d58015245aa28240691 to your computer and use it in GitHub Desktop.
paint everything everywhere! (PuzzleScript Script)
This file contains hidden or 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 hidden or 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 paint everything everywhere! | |
author increpare + pancelor | |
homepage www.pancelor.com (increpare.com) | |
again_interval 0.05 | |
run_rules_on_level_start | |
(verbose_logging) | |
======== | |
OBJECTS | |
======== | |
Background | |
#ff00ff | |
Wall | |
#371F19 #F7CB15 | |
00010 | |
11111 | |
01000 | |
11111 | |
00010 | |
Player | |
Black Orange White Blue | |
.000. | |
.111. | |
22222 | |
.333. | |
.3.3. | |
Crate1Base | |
#af101d | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
Crate1L0 | |
#af101d | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
Crate1R0 | |
#af101d | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
Crate1U0 | |
#af101d | |
00000 | |
..... | |
..... | |
..... | |
..... | |
Crate1D0 | |
#af101d | |
..... | |
..... | |
..... | |
..... | |
00000 | |
Crate1Z0 | |
#af101d | |
..... | |
..... | |
..... | |
..... | |
..... | |
Crate2Base | |
#7cecec | |
00000 | |
0...0 | |
0...0 | |
0...0 | |
00000 | |
Crate2L0 | |
#7cecec | |
0.... | |
0.... | |
0.... | |
0.... | |
0.... | |
Crate2R0 | |
#7cecec | |
....0 | |
....0 | |
....0 | |
....0 | |
....0 | |
Crate2U0 | |
#7cecec | |
00000 | |
..... | |
..... | |
..... | |
..... | |
Crate2D0 | |
#7cecec | |
..... | |
..... | |
..... | |
..... | |
00000 | |
Crate2Z0 | |
#7cecec #F5ECE0 | |
..... | |
..... | |
..... | |
..... | |
..... | |
Paint1 | |
#CC2936 | |
..... | |
00000 | |
00000 | |
..... | |
00000 | |
Paint2 | |
#28AFB0 | |
....0 | |
....0 | |
.0000 | |
.00.. | |
000.0 | |
slideright | |
transparent | |
slidedown | |
transparent | |
slideleft | |
transparent | |
slideup | |
transparent | |
canvas | |
#F5ECE0 | |
======= | |
LEGEND | |
======= | |
. = Background and canvas | |
# = Wall | |
P = Player | |
1 = Crate1Base and canvas | |
2 = Crate2Base and canvas | |
Crate1=Crate1Base or Crate1L0 or Crate1R0 or Crate1U0 or Crate1D0 or Crate1Z0 | |
Crate2=Crate2Base or Crate2L0 or Crate2R0 or Crate2U0 or Crate2D0 or Crate2Z0 | |
CrateL=Crate1L0 or Crate2L0 | |
CrateR=Crate1R0 or Crate2R0 | |
CrateU=Crate1U0 or Crate2U0 | |
CrateD=Crate1D0 or Crate2D0 | |
CrateZ=Crate1Z0 or Crate2Z0 | |
Crate=Crate1 or Crate2 | |
paint=paint1 or paint2 | |
slidetag = slideleft or slideup or slideright or slidedown | |
obs = wall or crate | |
======= | |
SOUNDS | |
======= | |
Crate MOVE 30943107 | |
( paint destroy 99909509 ) | |
( sfx0 19998706 (paint1 ) ) | |
( sfx1 382306 (paint2 ) ) | |
sfx0 19045907 | |
sfx1 56671706 | |
endlevel 74970903 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
canvas | |
paint1 | |
paint2 | |
Crate1Base,Crate2Base | |
Player | |
Wall, CrateZ | |
CrateL | |
CrateR | |
CrateU | |
CrateD | |
slidetag | |
====== | |
RULES | |
====== | |
(startup visuals) | |
[Crate1Base] -> [Crate1L0 Crate1R0 Crate1U0 Crate1D0 Crate1Z0] | |
left [Crate1L0|Crate1R0]->[|] | |
up [Crate1U0|Crate1D0]->[|] | |
[Crate2Base] -> [Crate2L0 Crate2R0 Crate2U0 Crate2D0 Crate2Z0] | |
left [Crate2L0|Crate2R0]->[|] | |
up [Crate2U0|Crate2D0]->[|] | |
[player] -> [player wall] | |
[> player slidetag]->[> player] | |
[ up player ] -> [ player slideup ] again | |
[ down player ] -> [ player slidedown ] again | |
[ left player ] -> [ player slideleft ] again | |
[ right player ] -> [ player slideright ] again | |
[ slideup ] [ crate ] -> [ slideup ] [ up crate ] again | |
[ slidedown ] [ crate ] -> [ slidedown ] [ down crate ] again | |
[ slideleft ] [ crate ] -> [ slideleft ] [ left crate ] again | |
[ slideright ] [ crate ] -> [ slideright ] [ right crate ] again | |
[ > crate | stationary obs ] -> [ crate | stationary obs ] | |
+ [ up crate1 | stationary crate1 ] -> [ stationary crate1 | stationary crate1 ] | |
+ [ up crate2 | stationary crate2 ] -> [ stationary crate2 | stationary crate2 ] | |
+ [ down crate1 | stationary crate1 ] -> [ stationary crate1 | stationary crate1 ] | |
+ [ down crate2 | stationary crate2 ] -> [ stationary crate2 | stationary crate2 ] | |
+ [ left crate1 | stationary crate1 ] -> [ stationary crate1 | stationary crate1 ] | |
+ [ left crate2 | stationary crate2 ] -> [ stationary crate2 | stationary crate2 ] | |
+ [ right crate1 | stationary crate1 ] -> [ stationary crate1 | stationary crate1 ] | |
+ [ right crate2 | stationary crate2 ] -> [ stationary crate2 | stationary crate2 ] | |
late [ crate1 no paint1 ] -> [ crate1 paint1 ] sfx0 | |
late [ crate2 no paint2 ] -> [ crate2 paint2 ] sfx1 | |
============== | |
WINCONDITIONS | |
============== | |
all canvas on Paint1 | |
all canvas on paint2 | |
======= | |
LEVELS | |
======= | |
(increpare:perfectly fine little level) | |
######p | |
#.....# | |
#....## | |
##.#.1# | |
#..2..# | |
####### | |
(increpare:also a perfectly fine little level) | |
######p | |
#.....# | |
#.....# | |
#..#..# | |
#...### | |
###1.2# | |
####### | |
(increpare: level with rotational symmetry - this is somethign I repeat in some later levels - not sure if that means it's worth avoiding here) | |
###########p | |
###.......## | |
#.........## | |
#......22..# | |
#..11..22..# | |
#..11......# | |
##.........# | |
##.......### | |
############ | |
(increpare: I kinda like this one) | |
###########p | |
#11.#......# | |
#11.#......# | |
#......#.22# | |
#......#.22# | |
#...####...# | |
#..........# | |
#..........# | |
############ | |
(increpare: kinda like this one?) | |
#############p | |
#11..........# | |
#11..........# | |
#....#.......# | |
#....#.......# | |
#..######....# | |
#....####....# | |
#....####....# | |
#....####....# | |
#....######..# | |
#.......#....# | |
#.......#....# | |
#..........22# | |
#..........22# | |
############## | |
(increpare: fine, maybe, but like other levels) | |
###########p | |
#..........# | |
#..........# | |
#..........# | |
#...111#...# | |
#...1212...# | |
#...1212...# | |
#...#222...# | |
#..........# | |
#..........# | |
#..........# | |
############ | |
(increpare: more involved version of the above. better?) | |
#################p | |
#................# | |
#................# | |
#................# | |
#....1.111#......# | |
#....1.121222....# | |
#....111212.2....# | |
#......#222.2....# | |
#................# | |
#................# | |
#................# | |
################## | |
(increpare: solvabe but early+subtle dead end possible :[ ) | |
##########p | |
##1.......# | |
#11.......# | |
#......#..# | |
#.........# | |
#.........# | |
#.........# | |
#.........# | |
#..#......# | |
#.......22# | |
#.......2## | |
########### | |
(increpare: decent level - has some satisfying block-pushing I think!) | |
###########p | |
###....#...# | |
#..........# | |
#.....#....# | |
#111...#.22# | |
############ | |
(increpare: a solid level1 - strategic + no dead ends) | |
#############p | |
#######..##### | |
#####......### | |
###..........# | |
#.....12.....# | |
#...111222...# | |
#...1....2...# | |
#..........### | |
###......##### | |
#####..####### | |
############## | |
(increpare: ok?) | |
##########p | |
##1.......# | |
#11.......# | |
#......#..# | |
#.........# | |
#.........# | |
#.........# | |
#.........# | |
#..#......# | |
#.......22# | |
#.......2## | |
########### | |
(increpare: I'm ok with this, but maybe too similar to the level I described as "a solid level" which I think is better) | |
#################p | |
#######.....###### | |
#######.....###### | |
#####.......###### | |
#####.........#### | |
###...........#### | |
###.............## | |
#...............## | |
#................# | |
#....111..222....# | |
#.....1...2.2....# | |
#.....1...222....# | |
#.....1...2......# | |
#....111..2......# | |
#................# | |
#................# | |
##...............# | |
##.............### | |
####...........### | |
####.........##### | |
######.......##### | |
######.....####### | |
######.....####### | |
################## | |
( | |
(has a dead end :[ ) | |
######p | |
#....## | |
#..222# | |
#....## | |
##...1# | |
#######) | |
( #############p ) | |
( ######..###### ) | |
( ####......#### ) | |
( ####....2.#### ) | |
( ##......2...## ) | |
( ##....22222.## ) | |
( #.......2....# ) | |
( #....11.2....# ) | |
( ##...11.....## ) | |
( ##..........## ) | |
( ####......#### ) | |
( ####......#### ) | |
( ######..###### ) | |
( ############## ) | |
( ###########p ) | |
( ###......### ) | |
( ###....2.### ) | |
( #......2...# ) | |
( #....22222.# ) | |
( #......2...# ) | |
( #...11.2...# ) | |
( #...11.....# ) | |
( #..........# ) | |
( ###......### ) | |
( ###......### ) | |
( ############ ) | |
( ############### ) | |
( ######...####p# ) | |
( ####.......#### ) | |
( ####.......#### ) | |
( ##.......2...## ) | |
( ##.......2...## ) | |
( #......22222..# ) | |
( #........2....# ) | |
( #.....11.2....# ) | |
( ##....11.....## ) | |
( ##...........## ) | |
( ####.......#### ) | |
( ####.......#### ) | |
( ######...###### ) | |
( ############### ) | |
((not as good as above level) | |
##########p | |
##.......## | |
#.........# | |
#..1...2..# | |
#.111#222.# | |
#..1...2..# | |
#.........# | |
##.......## | |
###########) | |
(bad because dead end) | |
( ######p ) | |
( #..1.## ) | |
( ##....# ) | |
( #.....# ) | |
( ##22..# ) | |
( ####### ) | |
(bad because dead end) | |
( ######p ) | |
( ##....# ) | |
( #.....# ) | |
( #12...# ) | |
( #1##..# ) | |
( ####### ) | |
( ###########p ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( ############ ) | |
( ###########p ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( ############ ) | |
( ######p ) | |
( #.....# ) | |
( #.....# ) | |
( #.....# ) | |
( #.....# ) | |
( #.....# ) | |
( ####### ) | |
( ###########p ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( #..........# ) | |
( ############ ) | |
( #################p ) | |
( #..............### ) | |
( #..............### ) | |
( #.....222........# ) | |
( #.....2.2.#......# ) | |
( #.....22222......# ) | |
( #......11111.....# ) | |
( #......#.1.1.....# ) | |
( #........111.....# ) | |
( ###..............# ) | |
( ###..............# ) | |
( ################## ) | |
( ##########p ) | |
( #11......## ) | |
( #1........# ) | |
( #.........# ) | |
( #.....#...# ) | |
( #.........# ) | |
( #.........# ) | |
( #...#.....# ) | |
( #.........# ) | |
( #........2# ) | |
( ##......22# ) | |
( ########### ) | |
message you painted everything! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment