Created
April 23, 2024 16:07
-
-
Save inventortimer/fa782f49440594c8cae40894aee94ee1 to your computer and use it in GitHub Desktop.
The Cable Guy (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 The Cable Guy | |
author 4sandwiches | |
homepage https://store.steampowered.com/app/2541310/The_Cable_Guy | |
debug | |
again_interval 0.1 | |
======== | |
OBJECTS | |
======== | |
Background | |
lightgreen green | |
11111 | |
01111 | |
11101 | |
11111 | |
10111 | |
UnconnectedBluePC | |
lightblue darkgray | |
00000 | |
01110 | |
00000 | |
.000. | |
00000 | |
ConnectedBluePC | |
lightblue blue | |
00000 | |
01110 | |
00000 | |
.000. | |
00000 | |
Wall | |
brown darkbrown | |
00010 | |
11111 | |
01000 | |
11111 | |
00010 | |
Server | |
black orange blue grey | |
33333 | |
32223 | |
33333 | |
32223 | |
33333 | |
NonActivePlayer | |
white | |
00.00 | |
0...0 | |
..... | |
0...0 | |
00.00 | |
ActiveBluePlayer | |
blue | |
00.00 | |
0...0 | |
..... | |
0...0 | |
00.00 | |
UnconnectedCable | |
darkblue | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
ConnectedCableVB | |
blue | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
..0.. | |
ConnectedCableHB | |
blue | |
..... | |
..... | |
00000 | |
..... | |
..... | |
( | |
ConnectedCableDLB | |
blue | |
..... | |
..... | |
000.. | |
..0.. | |
..0.. | |
ConnectedCableDRB | |
blue | |
..... | |
..... | |
..000 | |
..0.. | |
..0.. | |
ConnectedCableULB | |
blue | |
..0.. | |
..0.. | |
000.. | |
..... | |
..... | |
ConnectedCableURB | |
blue | |
..0.. | |
..0.. | |
..000 | |
..... | |
..... | |
) | |
ConnectedCableLVB | |
blue | |
..0.. | |
..0.. | |
000.. | |
..0.. | |
..0.. | |
ConnectedCableRVB | |
blue | |
..0.. | |
..0.. | |
..000 | |
..0.. | |
..0.. | |
ConnectedCableDHB | |
blue | |
..... | |
..... | |
00000 | |
..0.. | |
..0.. | |
ConnectedCableUHB | |
blue | |
..0.. | |
..0.. | |
00000 | |
..... | |
..... | |
ConnectedCableCB | |
blue | |
..0.. | |
..0.. | |
00000 | |
..0.. | |
..0.. | |
ConnectedCableDB | |
blue | |
..... | |
..... | |
..0.. | |
..0.. | |
..0.. | |
ConnectedCableUB | |
blue | |
..0.. | |
..0.. | |
..0.. | |
..... | |
..... | |
ConnectedCableRB | |
blue | |
..... | |
..... | |
..000 | |
..... | |
..... | |
ConnectedCableLB | |
blue | |
..... | |
..... | |
000.. | |
..... | |
..... | |
SourceD | |
transparent | |
SourceU | |
transparent | |
SourceL | |
transparent | |
SourceR | |
transparent | |
EraserL | |
transparent | |
EraserR | |
transparent | |
EraserD | |
transparent | |
EraserU | |
transparent | |
EraserML | |
transparent | |
EraserMR | |
transparent | |
EraserMD | |
transparent | |
EraserMU | |
transparent | |
======= | |
LEGEND | |
======= | |
player = ActiveBluePlayer or NonActivePlayer | |
ConnectedBlueCable = ConnectedCableUB or ConnectedCableDB or ConnectedCableLB or ConnectedCableRB | |
ConnectedBlueCableUnused = ConnectedCableVB or ConnectedCableHB or ConnectedCableLVB or ConnectedCableRVB or ConnectedCableDHB or ConnectedCableUHB or ConnectedCableCB | |
Source = SourceD or SourceL or SourceR or SourceU | |
Eraser = EraserD or EraserL or EraserR or EraserU | |
EraserM = EraserMD or EraserML or EraserMR or EraserMU | |
. = Background | |
# = Wall | |
S = Server | |
N = NonActivePlayer | |
A = ActiveBluePlayer | |
U = UnconnectedBluePC | |
C = ConnectedBluePC | |
- = ConnectedCableHB | |
/ = ConnectedCableVB | |
======= | |
SOUNDS | |
======= | |
NonActivePlayer move 36772507 | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
EraserM | |
Eraser | |
Source | |
ConnectedCableUB | |
ConnectedCableDB | |
ConnectedCableRB | |
ConnectedCableLB | |
UnconnectedCable | |
UnconnectedBluePC, ConnectedBluePC, Server | |
ConnectedBlueCableUnused | |
ActiveBluePlayer, NonActivePlayer, Wall | |
====== | |
RULES | |
====== | |
(Player actions) | |
[Action NonActivePlayer Server] -> [ActiveBluePlayer Server] | |
[Action ActiveBluePlayer] -> [NonActivePlayer] | |
([Action NonActivePlayer connectedbluecable] -> [NonActivePlayer Background]) | |
([Action NonActivePlayer connectedbluecable | ... | connectedbluecable] -> [NonActivePlayer | ... | Background]) | |
[Action NonActivePlayer connectedbluecable SourceR] -> [NonActivePlayer Background LEFT EraserL] | |
[EraserL connectedbluecable SourceR] -> [LEFT EraserL] again (late by one turn, but ok for now) | |
([stationary EraserL] -> [LEFT EraserL]) | |
([EraserL]) | |
([EraserL] -> [left EraserL]) | |
([EraserL ConnectedBlueCable] -> [EraserL] again) | |
(Server rules) | |
(Server = BlueServer, RedServer...) | |
UP [UP ActiveBluePlayer Server | Background] -> [UP ActiveBluePlayer Server | ConnectedCableDB SourceD Background] | |
DOWN [DOWN ActiveBluePlayer Server | Background] -> [DOWN ActiveBluePlayer Server | ConnectedCableUB SourceU Background] | |
LEFT [LEFT ActiveBluePlayer Server | Background] -> [LEFT ActiveBluePlayer Server | ConnectedCableRB SourceR Background] | |
RIGHT [RIGHT ActiveBluePlayer Server | Background] -> [RIGHT ActiveBluePlayer Server | ConnectedCableLB SourceL Background] | |
(Cable rules) | |
(Down) | |
LEFT [LEFT ActiveBluePlayer ConnectedCableDB | Background] -> [ConnectedCableDB ConnectedCableLB | ActiveBluePlayer ConnectedCableRB SourceR Background] | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableDB | Background] -> [ConnectedCableDB ConnectedCableRB | ActiveBluePlayer ConnectedCableLB SourceL Background] | |
UP [UP ActiveBluePlayer ConnectedCableDB | Background] -> [ConnectedCableDB ConnectedCableUB | ActiveBluePlayer ConnectedCableDB SourceD Background] | |
DOWN [DOWN ActiveBluePlayer ConnectedCableDB | Background] -> [ActiveBluePlayer ConnectedCableDB | Background] | |
(Up) | |
LEFT [LEFT ActiveBluePlayer ConnectedCableUB | Background] -> [ConnectedCableUB ConnectedCableLB | ActiveBluePlayer ConnectedCableRB SourceR Background] | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableUB | Background] -> [ConnectedCableUB ConnectedCableRB | ActiveBluePlayer ConnectedCableLB SourceL Background] | |
DOWN [DOWN ActiveBluePlayer ConnectedCableUB | Background] -> [ConnectedCableUB ConnectedCableDB | ActiveBluePlayer ConnectedCableUB SourceU Background] | |
UP [UP ActiveBluePlayer ConnectedCableUB | Background] -> [ActiveBluePlayer ConnectedCableUB | Background] | |
(Left) | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableLB | Background] -> [ConnectedCableLB ConnectedCableRB | ActiveBluePlayer ConnectedCableLB SourceL Background] | |
LEFT [LEFT ActiveBluePlayer ConnectedCableLB | Background] -> [ActiveBluePlayer ConnectedCableLB| Background] (sound) | |
DOWN [DOWN ActiveBluePlayer ConnectedCableLB | Background] -> [ConnectedCableLB ConnectedCableDB | ActiveBluePlayer ConnectedCableUB SourceU Background] | |
UP [UP ActiveBluePlayer ConnectedCableLB | Background] -> [ConnectedCableLB ConnectedCableUB | ActiveBluePlayer ConnectedCableDB SourceD Background] | |
(Right) | |
LEFT [LEFT ActiveBluePlayer ConnectedCableRB | Background] -> [ConnectedCableRB ConnectedCableLB | ActiveBluePlayer ConnectedCableRB SourceR Background] | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableRB | Background] -> [ActiveBluePlayer ConnectedCableRB | Background] (sound) | |
DOWN [DOWN ActiveBluePlayer ConnectedCableRB | Background] -> [ConnectedCableRB ConnectedCableDB | ActiveBluePlayer ConnectedCableUB SourceU Background] | |
UP [UP ActiveBluePlayer ConnectedCableRB | Background] -> [ConnectedCableRB ConnectedCableUB | ActiveBluePlayer ConnectedCableDB SourceD Background] | |
[ActiveBluePlayer ConnectedCableLB ConnectedCableRB ConnectedCableUB ] -> CANCEL | |
[ActiveBluePlayer ConnectedCableLB ConnectedCableRB ConnectedCableDB ] -> CANCEL | |
[ActiveBluePlayer ConnectedCableLB ConnectedCableUB ConnectedCableDB ] -> CANCEL | |
[ActiveBluePlayer ConnectedCableRB ConnectedCableUB ConnectedCableDB ] -> CANCEL | |
( [ ConnectedCableLB ConnectedCableRB ConnectedCableUB] CANCEL )(message "Shortcircuit! Don't overlap cables of the same color.") | |
( | |
LEFT [LEFT ActiveBluePlayer ConnectedCableVB | Background] -> [LEFT ActiveBluePlayer ConnectedCableLVB | ConnectedCableHB SourceR Background] | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableVB | Background] -> [RIGHT ActiveBluePlayer ConnectedCableRVB | ConnectedCableHB SourceL Background] | |
UP [UP ActiveBluePlayer ConnectedCableVB | Background] -> [UP ActiveBluePlayer ConnectedCableVB | ConnectedCableVB SourceU Background] | |
DOWN [DOWN ActiveBluePlayer ConnectedCableVB | Background] -> [DOWN ActiveBluePlayer ConnectedCableVB | ConnectedCableVB SourceD Background] | |
) | |
([> ActiveBluePlayer | connectedbluecable] -> [ActiveBluePlayer | conn]) | |
( | |
LEFT [LEFT ActiveBluePlayer ConnectedCableRVB | Background] -> [ConnectedCableCB | ActiveBluePlayer ConnectedCableHB Background] | |
) | |
( | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableUHB | Background] -> [ConnectedCableRVB | ActiveBluePlayer ConnectedCableHB Background] | |
) | |
( | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableHB | Background] -> [ConnectedCableHB | ActiveBluePlayer ConnectedCableHB Background] | |
RIGHT [RIGHT ActiveBluePlayer ConnectedCableVB | Background] -> [ConnectedCableDHB | ActiveBluePlayer ConnectedCableHB Background] | |
UP [UP ActiveBluePlayer ConnectedCableHB | Background] -> [ConnectedCableUHB | ActiveBluePlayer ConnectedCableVB Background] | |
) | |
(PC connection) | |
[ActiveBluePlayer UnconnectedBluePC | ConnectedBlueCable] -> [NonActivePlayer ConnectedBluePC | connectedbluecable] | |
============== | |
WINCONDITIONS | |
============== | |
No UnconnectedBluePC | |
======= | |
LEVELS | |
======= | |
............ | |
............ | |
............ | |
......u..... | |
............ | |
............ | |
......s..... | |
............ | |
......n..... | |
............ | |
............ | |
............ | |
............ | |
####### | |
#..u..# | |
#.....# | |
#.....# | |
#..s..# | |
#.....# | |
#..n..# | |
#.....# | |
####### | |
####### | |
#..u..# | |
#.....# | |
#..n..# | |
#.....# | |
#..s..# | |
####### |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment