Skip to content

Instantly share code, notes, and snippets.

@RazThePenguin
Created December 8, 2022 02:01
Show Gist options
  • Save RazThePenguin/6de7bda643edf7b8fc832b362fc41057 to your computer and use it in GitHub Desktop.
Save RazThePenguin/6de7bda643edf7b8fc832b362fc41057 to your computer and use it in GitHub Desktop.
EXTEN (Puzzlescript Plus Script)
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html
title EXTEN
author Studio369
skip_title_screen
tween_length 0.1
sprite_size 32
norestart
noundo
nokeyboard
verbose_logging (Don't forget to use the visual debugger to see how mouse objects are created at the start of the turn)
mouse_left MouseClick
mouse_drag MouseDrag
(We don't use mouse_up here, instead we'll clean up the previous cursor whenever a new mouse_left object is detected. See the Rules.)
========
OBJECTS
========
background .
#462c4b
Player P
transparent
Cursor
#fcebb6
00000000000000000000000000000000
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
0..............................0
00000000000000000000000000000000
DragTarget
transparent
MouseClick
transparent
MouseDrag
transparent
BlockA
transparent
BlockB
transparent
BlockC
transparent
BlockD
transparent
LaserU
transparent
LaserR
transparent
LaserD
transparent
LaserL
transparent
Laserspawn1
transparent
Laserspawn2
transparent
Laserspawn3
transparent
Laserspawn4
transparent
Color1
#724254 #462c4b #462c4b #fcebb6 #fcebb6 #462c4b
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color2
#724254 #fcebb6 #462c4b #fcebb6 #462c4b #462c4b
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color3
#724254 #fcebb6 #fcebb6 #462c4b #462c4b #462c4b
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color4
#724254 #462c4b #fcebb6 #462c4b #fcebb6 #462c4b
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color5
#724254 #462c4b #462c4b #fcebb6 #fcebb6 #fcebb6
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color6
#724254 #fcebb6 #462c4b #fcebb6 #462c4b #fcebb6
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color7
#724254 #fcebb6 #fcebb6 #462c4b #462c4b #fcebb6
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Color8
#724254 #462c4b #fcebb6 #462c4b #fcebb6 #fcebb6
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000011100222000000000000
00000000000111100222200000000000
00000000001111100222220000000000
00000000011111100222222000000000
00000000111111100222222200000000
00000001111111000022222220000000
00000011111110000002222222000000
00000111111100055000222222200000
00001111111000555500022222220000
00001111110005555550002222220000
00001111100055555555000222220000
00000000000555555555500000000000
00000000000555555555500000000000
00003333300055555555000444440000
00003333330005555550004444440000
00003333333000555500044444440000
00000333333300055000444444400000
00000033333330000004444444000000
00000003333333000044444440000000
00000000333333300444444400000000
00000000033333300444444000000000
00000000003333300444440000000000
00000000000333300444400000000000
00000000000033300444000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
Wall #
#724254
GoalA
transparent
GoalB
transparent
GoalC
transparent
GoalD
transparent
Cover
#724254
A_tile
#462c4b
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
...............00...............
...............00...............
..............0..0..............
..............0..0..............
.............0....0.............
.............000000.............
............0......0............
............0......0............
................................
................................
B_tile
#462c4b
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
................................
............0000000.............
............0......0............
............0......0............
............0000000.............
............0......0............
............0......0............
............0......0............
............0000000.............
................................
................................
=======
LEGEND
=======
Block = BlockA or BlockB or BlockC or BlockD
Laser = LaserU or LaserR or LaserD or LaserL
Color = Color1 or Color2 or Color3 or Color4 or Color5 or Color6 or Color7 or Color8
Laserspawn = Laserspawn1 or Laserspawn2 or Laserspawn3 or Laserspawn4
1 = Wall and Laserspawn1
2 = Wall and Laserspawn2
3 = Wall and Laserspawn3
4 = Wall and Laserspawn4
S = Wall and Color1 and Cover
W = Wall and Color2 and Cover
N = Wall and Color3 and Cover
E = Wall and Color4 and Cover
A = BlockA and Color1
B = BlockB and Color1
C = BlockC and Color1
D = BlockD and Color1
X = Wall and GoalA and Color1 and Cover
Y = Wall and GoalB and Color3 and Cover and A_tile
Z = Wall and GoalC and Color2 and Cover
Å = Wall and GoalD and Color4 and Cover
Ä = Wall and Cover and B_tile
=======
SOUNDS
=======
sfx0 82974701
================
COLLISIONLAYERS
================
background
MouseClick
MouseDrag
GoalA, GoalB, GoalC, GoalD
BlockA, BlockB, BlockC, BlockD Wall
Color
Laser
Laserspawn1, Laserspawn2, Laserspawn3, Laserspawn4
DragTarget
Cursor
Player
Cover
A_tile
B_tile
======
RULES
======
[> Player] -> [Player]
(Whenever mouse is clicked, create cursor at that position)
[MouseClick] [Cursor] -> [MouseClick] []
[MouseClick] [DragTarget] -> [MouseClick] []
[MouseClick] -> [Cursor DragTarget]
(When mouse is dragged, actually add movement to cursor in this direction)
[Cursor] [DragTarget | MouseDrag] -> [> Cursor] [ | DragTarget]
[Cursor no Block] -> []
(Shmovin.)
rigid [> Cursor Block] [ Laserspawn1 ] -> [> Cursor > Block] [ Laserspawn1 LaserD ] again
rigid [> Cursor no Block] -> []
[> Cursor Block | Block] -> [Cursor Block | Block]
[> Cursor | Wall] -> [Cursor | Wall]
(Clean up for the start of the next turn, in case these were not cleaned up by the other rules)
[MouseClick] -> []
[MouseDrag] -> []
(Making sure the block keeps its clothes.)
[ > Block Color ] -> [ > Block > Color ]
(Verification hell)
late down [ LaserD | ... | Block ] -> [ | ... | LaserL Block ]
late left [ LaserL | ... | Block ] -> [ | ... | LaserU Block ]
late up [ LaserU | ... | Block ] -> [ | ... | LaserR Block ]
late right [ LaserR | ... | Block ] -> [ | ... | LaserD Block ]
late down [ LaserD | ... | Wall ] -> [ | ... | LaserD Wall ]
late left [ LaserL | ... | Wall ] -> [ | ... | LaserL Wall ]
late up [ LaserU | ... | Wall ] -> [ | ... | LaserU Wall ]
late right [ LaserR | ... | Wall ] -> [ | ... | LaserR Wall ]
late [ Laser GoalA ] [ BlockA ] [ Laserspawn2 ] -> [ GoalA ] [ Color5 BlockA ] [ LaserD Laserspawn2 ] sfx0
late [ Laser Color Wall ] [ BlockA ] [ Laserspawn2 ] -> [ Color Wall ] [ Color BlockA ] [ LaserD Laserspawn2 ]
late down [ LaserD | ... | Block ] -> [ | ... | LaserL Block ]
late left [ LaserL | ... | Block ] -> [ | ... | LaserU Block ]
late up [ LaserU | ... | Block ] -> [ | ... | LaserR Block ]
late right [ LaserR | ... | Block ] -> [ | ... | LaserD Block ]
late down [ LaserD | ... | Wall ] -> [ | ... | LaserD Wall ]
late left [ LaserL | ... | Wall ] -> [ | ... | LaserL Wall ]
late up [ LaserU | ... | Wall ] -> [ | ... | LaserU Wall ]
late right [ LaserR | ... | Wall ] -> [ | ... | LaserR Wall ]
late [ Laser GoalB ] [ BlockB ] [ Laserspawn3 ] -> [ GoalB ] [ Color7 BlockB ] [ LaserD Laserspawn3 ] sfx0
late [ Laser Color Wall ] [ BlockB ] [ Laserspawn3 ] -> [ Color Wall ] [ Color BlockB ] [ LaserD Laserspawn3 ]
late down [ LaserD | ... | Block ] -> [ | ... | LaserL Block ]
late left [ LaserL | ... | Block ] -> [ | ... | LaserU Block ]
late up [ LaserU | ... | Block ] -> [ | ... | LaserR Block ]
late right [ LaserR | ... | Block ] -> [ | ... | LaserD Block ]
late down [ LaserD | ... | Wall ] -> [ | ... | LaserD Wall ]
late left [ LaserL | ... | Wall ] -> [ | ... | LaserL Wall ]
late up [ LaserU | ... | Wall ] -> [ | ... | LaserU Wall ]
late right [ LaserR | ... | Wall ] -> [ | ... | LaserR Wall ]
late [ Laser GoalC ] [ BlockC ] [ Laserspawn4 ] -> [ GoalC ] [ Color6 BlockC ] [ LaserD Laserspawn4 ] sfx0
late [ Laser Color Wall ] [ BlockC ] [ Laserspawn4 ] -> [ Color Wall ] [ Color BlockC ] [ LaserD Laserspawn4 ]
late down [ LaserD | ... | Block ] -> [ | ... | LaserL Block ]
late left [ LaserL | ... | Block ] -> [ | ... | LaserU Block ]
late up [ LaserU | ... | Block ] -> [ | ... | LaserR Block ]
late right [ LaserR | ... | Block ] -> [ | ... | LaserD Block ]
late down [ LaserD | ... | Wall ] -> [ | ... | LaserD Wall ]
late left [ LaserL | ... | Wall ] -> [ | ... | LaserL Wall ]
late up [ LaserU | ... | Wall ] -> [ | ... | LaserU Wall ]
late right [ LaserR | ... | Wall ] -> [ | ... | LaserR Wall ]
late [ Laser GoalD ] [ BlockD ] -> [ GoalD ] [ Color8 BlockD ] sfx0
late [ Laser Color Wall ] [ BlockD ] -> [ Color Wall ] [ Color BlockD ]
==============
WINCONDITIONS
==============
all BlockA on GoalA
=======
LEVELS
=======
#NNNNNNNN#
###1234YÄ#
Wa.......E
Wb.......E
Wc.......E
Wd...P...E
W........E
Z........Å
W........E
##########
#SSSSXSSS#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment