Skip to content

Instantly share code, notes, and snippets.

@Rampoina
Created March 11, 2023 19:17
Show Gist options
  • Save Rampoina/aff2a8376f577777185b602ee8da9366 to your computer and use it in GitHub Desktop.
Save Rampoina/aff2a8376f577777185b602ee8da9366 to your computer and use it in GitHub Desktop.
Arc (Puzzlescript Plus Script)
Play this game by pasting the script in https://auroriax.github.io/PuzzleScript/editor.html
title Arc
author Rampoina
realtime_interval 0.1
norepeat_action
========
OBJECTS
========
Background
Black
Wall
DarkGray
00000
00.00
0...0
00.00
00000
LaserU
LightBlue Red Gray White
2.1.2
2.1.2
22222
22222
.2.2.
LaserD
LightBlue Red Gray White
.2.2.
22222
22222
2.1.2
2.1.2
LaserL
LightBlue Red Gray White
2222.
..222
1122.
..222
2222.
LaserR
LightBlue Red Gray White
.2222
222..
.2211
222..
.2222
BeamU
red
..0..
..0..
..0..
..0..
..0..
BeamD
red
..0..
..0..
..0..
..0..
..0..
BeamL
red
.....
.....
00000
.....
.....
BeamR
red
.....
.....
00000
.....
.....
StableBeamU
red
..0..
..0..
..0..
.....
.....
StableBeamD
red
.....
.....
..0..
..0..
..0..
StableBeamL
red
.....
.....
000..
.....
.....
StableBeamR
red
.....
.....
..000
.....
.....
RestBeamR
red
.....
.....
000..
.....
.....
RestBeamL
red
.....
.....
..000
.....
.....
RestBeamD
red
..0..
..0..
..0..
.....
.....
RestBeamU
red
.....
.....
..0..
..0..
..0..
MirrorR
DarkGray Lightblue
....1
...1.
..1..
.1...
1....
MirrorL
DarkGray lightblue
1....
.1...
..1..
...1.
....1
GoalOff
gray
.....
.000.
.0.0.
.000.
.....
GoalOn
yellow
.....
.000.
.0.0.
.000.
.....
Player
Gray
0....
.0...
..0..
.0.0.
0...0
Crate
Brown
00000
0...0
0...0
0...0
00000
=======
LEGEND
=======
(Map tiles)
. = Background
# = Wall
@ = Player
$ = Crate
u = LaserU
d = LaserD
l = LaserL
r = LaserR
\ = MirrorL
/ = MirrorR
o = GoalOff
Laser = LaserU or LaserD or LaserL or LaserR
Mirror = MirrorL or MirrorR
StableBeams = StableBeamU or StableBeamL or StableBeamD or StableBeamR
RestBeams = RestBeamU or RestBeamL or RestBeamD or RestBeamR
Beams = RestBeams or StableBeams or BeamU or BeamD or BeamL or BeamR
Goal = GoalOn or GoalOff
LightU = LaserU or BeamU or StableBeamU
LightD = LaserD or BeamD or StableBeamD
LightL = LaserL or BeamL or StableBeamL
LightR = LaserR or BeamR or StableBeamR
Opaque = Wall or Crate or Player or Mirror or Goal or Laser
=======
SOUNDS
=======
(Crate MOVE 36772507)
================
COLLISIONLAYERS
================
Background
BeamU
BeamD
BeamL
BeamR
RestBeamR
RestBeamL
RestBeamU
RestBeamD
StableBeamU
StableBeamD
StableBeamL
StableBeamR
Player, Wall, Crate, Mirror, Goal, Laser
======
RULES
======
[ > Player | Mirror ] -> [ > Player | > Mirror ]
[Beams] -> []
[GoalOn] -> [GoalOff]
startLoop
(Propagate beams)
late Up [LightU | no Opaque] -> [LightU | BeamU]
late Down [LightD | no Opaque] -> [LightD | BeamD]
late Left [LightL | no Opaque] -> [LightL | BeamL]
late Right [LightR | no Opaque] -> [LightR | BeamR]
late Up [LightU | GoalOff] -> [LightU | GoalOn]
late Down [LightD | GoalOff] -> [LightD | GoalOn]
late Left [LightL | GoalOff] -> [LightL | GoalOn]
late Right [LightR | GoalOff] -> [LightR | GoalOn]
late Right [LightR | MirrorR ] -> [ LightR | RestBeamR MirrorR StableBeamU ]
late Right [LightR | MirrorL ] -> [ LightR | RestBeamR MirrorL StableBeamD ]
late Left [LightL | MirrorR ] -> [ LightL | RestBeamL MirrorR StableBeamD ]
late Left [LightL | MirrorL ] -> [ LightL | RestBeamL MirrorL StableBeamU ]
late Up [LightU | MirrorR ] -> [ LightU | RestBeamU MirrorR StableBeamR ]
late Up [LightU | MirrorL ] -> [ LightU | RestBeamU MirrorL StableBeamL ]
late Down [LightD | MirrorR ] -> [ LightD | RestBeamD MirrorR StableBeamL ]
late Down [LightD | MirrorL ] -> [ LightD | RestBeamD MirrorL StableBeamR ]
endLoop
==============
WINCONDITIONS
==============
No GoalOff
=======
LEVELS
=======
message "Level 0"
###############
#............o#
#...../.......#
#[email protected]#
#.../...\.....#
#o............#
###############
message "Level 1"
##############
#............#
#...######o..#
#............#
#............#
#..r.../.....#
#..#...@.....#
##############
message "Level 2"
##############
#............#
#..r../......#
#......@.....#
#............#
#..o..\......#
#............#
##############
message "Level 3"
###############
#.#.......o...#
#.d..../.####.#
#..#/..#.\....#
#..#...##.....#
#..#\..@../...#
#...####.##./.#
#.......\.....#
###############
message "Level 4"
##########################
#........................#
#............/[email protected]./..#
#.....................\..#
#.....#..................#
#..\.####......##........#
#.###.##.##...#...#......#
#.........#...#..##.#....#
#..........##.......#....#
#............#....##o....#
##.......................#
##########################
message "Level 5"
###############
#............o#
#...../.......#
#[email protected]#
#.../...\.....#
#o............#
###############
message "Level 6"
###############
#.............#
#....\\\\\....#
#o#.........#o#
#[email protected]#
#r...........l#
#o#../////..#o#
#.............#
#.............#
###############
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment