Created
March 6, 2023 16:15
-
-
Save sftrabbit/31490eeb106814f3745e282e33104d64 to your computer and use it in GitHub Desktop.
Alphaban (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 Alphaban | |
author Beekie | |
homepage beekie.itch.io | |
run_rules_on_level_start | |
verbose_logging | |
(https://lospec.com/palette-list/cartoon-candy) | |
(A - Actor, Alien, Agent) | |
(B - Boa, Block, Button, Bagel, Bridge) | |
(C - Crate, Caterpillar, Centipede, Crab) | |
(D - Donut, Dial) | |
(E - ) | |
(F - ) | |
(G - Gravity) | |
(S - Snake) | |
(X - X-ray) | |
======== | |
OBJECTS | |
======== | |
ActiveTile | |
transparent | |
Wall | |
#a766b2 | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
Exit | |
#45f66e | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
Background | |
#832a85 | |
00000 | |
00000 | |
00000 | |
00000 | |
00000 | |
MoveU | |
transparent | |
MoveD | |
transparent | |
MoveL | |
transparent | |
MoveR | |
transparent | |
MoveX | |
transparent | |
A1 | |
#45b66e lightgray black #65d67e | |
.111. | |
11111 | |
11111 | |
11111 | |
.111. | |
A2 | |
#45b66e white black #65d67e | |
00000 | |
01210 | |
01210 | |
00000 | |
..... | |
ALegs | |
#45b66e white black #65d67e | |
..... | |
..... | |
..... | |
..... | |
.0.0. | |
AN | |
#45b66e | |
00000 | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
AS | |
#45b66e | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
00000 | |
AE | |
#45b66e | |
....0 | |
....0 | |
00000 | |
....0 | |
....0 | |
AW | |
#45b66e | |
0.... | |
0.... | |
00000 | |
0.... | |
0.... | |
ANE | |
#45b66e | |
0.... | |
.0... | |
..0.. | |
.0.0. | |
0...0 | |
ASE | |
#45b66e | |
0...0 | |
.0.0. | |
..0.. | |
.0... | |
0.... | |
ANW | |
#45b66e | |
....0 | |
...0. | |
..0.. | |
.0.0. | |
0...0 | |
ASW | |
#45b66e | |
0...0 | |
.0.0. | |
..0.. | |
...0. | |
....0 | |
Player | |
transparent | |
Bridge | |
Brown | |
Donut | |
#ce6b49 #f2ae65 #ffce65 #ffee95 (#d88e56) | |
.232. | |
01002 | |
02.02 | |
03212 | |
.000. | |
RunGravity | |
transparent | |
MarkU | |
transparent | |
MarkD | |
transparent | |
MarkL | |
transparent | |
MarkR | |
transparent | |
MarkX | |
transparent | |
GoBack | |
transparent | |
NoFall | |
transparent | |
ActiveBorderR | |
transparent #45b66e | |
..... | |
..... | |
....0 | |
..... | |
..... | |
ActiveBorderL | |
transparent #45b66e | |
..... | |
..... | |
0.... | |
..... | |
..... | |
ActiveBorderU | |
transparent #45b66e | |
..0.. | |
..... | |
..... | |
..... | |
..... | |
ActiveBorderD | |
transparent #45b66e | |
..... | |
..... | |
..... | |
..... | |
..0.. | |
BraceL | |
transparent | |
BraceR | |
transparent | |
BraceU | |
transparent | |
BraceD | |
transparent | |
======= | |
LEGEND | |
======= | |
. = Background | |
, = Exit | |
# = Wall | |
@ = Player and Wall | |
A = A1 | |
2 = A2 | |
B = Bridge | |
D = Donut | |
MoveDirs = MoveU or MoveD or MoveL or MoveR or MoveX | |
ActiveBorders = ActiveBorderR or ActiveBorderD or ActiveBorderL or ActiveBorderU | |
Marks = MarkU or MarkD or MarkL or MarkR or MarkX | |
MarkNotU = MarkD or MarkL or MarkR or MarkX | |
MarkNotD = MarkU or MarkL or MarkR or MarkX | |
MarkNotL = MarkD or MarkU or MarkR or MarkX | |
MarkNotR = MarkD or MarkL or MarkU or MarkX | |
MarkNotX = MarkD or MarkL or MarkR or MarkU | |
AStick = AN or AS or AE or AW or ANE or ASE or ANW or ASW | |
Solid = A1 or Donut or Wall or AStick or A2 | |
Falls = A1 or Donut or Astick or A2 | |
Moves = A1 or Donut or AStick or A2 | |
Frictiony = Wall | |
Braces = BraceL or BraceR or BraceU or BraceD | |
======= | |
SOUNDS | |
======= | |
================ | |
COLLISIONLAYERS | |
================ | |
Player | |
Background | |
Wall | |
Exit | |
A1 | |
A2 | |
AN | |
AS | |
AE | |
AW | |
ANE | |
ANW | |
ASE | |
ASW | |
ALegs | |
MoveU | |
MoveD | |
MoveL | |
MoveR | |
MoveX | |
MarkU | |
MarkD | |
MarkL | |
MarkR | |
MarkX | |
GoBack | |
Donut | |
Bridge | |
RunGravity | |
NoFall | |
ActiveTile | |
ActiveBorderR | |
ActiveBorderL | |
ActiveBorderU | |
ActiveBorderD | |
BraceL | |
BraceR | |
BraceU | |
BraceD | |
====== | |
RULES | |
====== | |
[moving Player][A1] -> [stationary Player][moving A1] | |
(Gravity setup) | |
[Player no RunGravity] -> [Player RunGravity] | |
[RunGravity][moving moves] -> [][moving moves] | |
(Bracing) | |
[Wall] -> [Wall BraceL BraceR BraceU BraceD] | |
right [Moves | BraceR] -> [Moves BraceR | BraceR] | |
+left [Moves | BraceL] -> [Moves BraceL | BraceL] | |
+up [Moves | BraceU] -> [Moves BraceU | BraceU] | |
+down [Moves | BraceD] -> [Moves BraceD | BraceD] | |
right [Player no RunGravity][> A1 | no ActiveTile][A2 no BraceR] -> [Player no RunGravity][> A1 | no ActiveTile][> A2 no BraceR] | |
left [Player no RunGravity][> A1 | no ActiveTile][A2 no BraceL] -> [Player no RunGravity][> A1 | no ActiveTile][> A2 no BraceL] | |
up [Player no RunGravity][> A1 | no ActiveTile][A2 no BraceU] -> [Player no RunGravity][> A1 | no ActiveTile][> A2 no BraceU] | |
down [Player no RunGravity][> A1 | no ActiveTile][A2 no BraceD] -> [Player no RunGravity][> A1 | no ActiveTile][> A2 no BraceD] | |
[left A1 BraceL][A2] -> [A1 BraceL][right A2] | |
[right A1 BraceR][A2] -> [A1 BraceR][left A2] | |
[up A1 BraceU][A2] -> [A1 BraceU][down A2] | |
[down A1 BraceD][A2] -> [A1 BraceD][up A2] | |
[RunGravity][A1 Braces][A2] -> [RunGravity][A1 Braces][A2 Braces] | |
[RunGravity][A2 Braces][A1] -> [RunGravity][A2 Braces][A1 Braces] | |
(down [Player no RunGravity][left A1 BraceD | Frictiony][stationary A2] -> [Player no RunGravity][A1 BraceD | Frictiony][right A2] | |
down [Player no RunGravity][right A1 BraceD | Frictiony][stationary A2] -> [Player no RunGravity][A1 BraceD | Frictiony][left A2]) | |
[Player no RunGravity][left A2 BraceL][A1] -> [Player no RunGravity][A2 BraceL][right A1] | |
[Player no RunGravity][right A2 BraceR][A1] -> [Player no RunGravity][A2 BraceR][left A1] | |
[Player no RunGravity][up A2 BraceU][A1] -> [Player no RunGravity][A2 BraceU][down A1] | |
[Player no RunGravity][down A2 BraceD][A1] -> [Player no RunGravity][A2 BraceD][up A1] | |
[> Moves | Donut] -> [> Moves | > Donut] | |
[right Moves BraceR] -> [Moves BraceR] | |
[left Moves BraceL] -> [Moves BraceL] | |
[up Moves BraceU] -> [Moves BraceU] | |
[down Moves BraceD] -> [Moves BraceD] | |
[RunGravity][Falls no BraceD] -> [RunGravity][down Falls] | |
[RunGravity][down A2 no BraceD][A1 no BraceD] -> [RunGravity][down A2 no BraceD][down A1 no BraceD] | |
startloop | |
[stationary Solid] -> [ Solid MarkX] | |
up [> Moves | ] -> [> Moves | MarkU] | |
down [> Moves | ] -> [> Moves | MarkD] | |
left [> Moves | ] -> [> Moves | MarkL] | |
right [> Moves | ] -> [> Moves | MarkR] | |
up [> Moves | MarkNotU] -> [Moves | MarkNotU] | |
down [> Moves | MarkNotD] -> [Moves | MarkNotD] | |
left [> Moves | MarkNotL] -> [Moves | MarkNotL] | |
right [> Moves | MarkNotR] -> [Moves | MarkNotR] | |
endloop | |
[Marks] -> [] | |
late [ALegs] -> [] | |
late down [A2 | Frictiony] -> [A2 ALegs | Frictiony] | |
late down [A2 | A1] -> [A2 ALegs | A1] | |
(Set up ActiveTile) | |
late [ActiveTile] -> [] | |
late [ActiveBorders] -> [] | |
( | |
late right [no ActiveTile|no ActiveTile|no ActiveTile A2|no ActiveTile|no ActiveTile] -> [ActiveTile|ActiveTile|ActiveTile A2|ActiveTile|ActiveTile] | |
late down [no ActiveTile|no ActiveTile|ActiveTile|no ActiveTile|no ActiveTile] -> [ActiveTile|ActiveTile|ActiveTile|ActiveTile|ActiveTile] | |
) | |
late right [no ActiveTile|no ActiveTile A2|no ActiveTile] -> [ActiveTile|ActiveTile A2|ActiveTile] | |
late down [no ActiveTile|ActiveTile|no ActiveTile] -> [ActiveTile|ActiveTile|ActiveTile] | |
late right [ActiveTile | no ActiveTile] -> [ActiveTile | no ActiveTile ActiveBorderL] | |
late left [ActiveTile | no ActiveTile] -> [ActiveTile | no ActiveTile ActiveBorderR] | |
late up [ActiveTile | no ActiveTile] -> [ActiveTile | no ActiveTile ActiveBorderD] | |
late down [ActiveTile | no ActiveTile] -> [ActiveTile| no ActiveTile ActiveBorderU] | |
late [RunGravity] -> [] | |
late [Player] -> again | |
late [A1 no ActiveTile] -> cancel | |
late [Braces] -> [] | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
======= | |
############### | |
############### | |
##@############ | |
##..........### | |
##......A...### | |
##......2...### | |
##..........### | |
##..........### | |
##..........### | |
##..........### | |
###.......#.### | |
###.#...#...### | |
##....#.....### | |
############### | |
############### | |
############### | |
message A is for Alien | |
##### | |
#..,# | |
#.#.# | |
#...# | |
#A#.# | |
##### | |
message B is for Bridge | |
########## | |
#b.ab.#### | |
#.b..b.### | |
#b.##.b### | |
#.b##b.### | |
#...b...## | |
#b.b.d.b.# | |
#.b####b.# | |
#b.####..# | |
#.bb.....# | |
#b..b,..## | |
########## |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment