Skip to content

Instantly share code, notes, and snippets.

@inventortimer
Created April 23, 2024 12:01
Show Gist options
  • Save inventortimer/fa0a3ebe61f75e3cad4389cf7d76745b to your computer and use it in GitHub Desktop.
Save inventortimer/fa0a3ebe61f75e3cad4389cf7d76745b to your computer and use it in GitHub Desktop.
The Cable Guy (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title The Cable Guy
author 4sandwiches
homepage https://store.steampowered.com/app/2541310/The_Cable_Guy
debug
========
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..
SourceD
transparent
SourceU
transparent
SourceL
transparent
SourceR
transparent
EraserL
transparent
EraserR
transparent
EraserD
transparent
EraserU
transparent
=======
LEGEND
=======
player = ActiveBluePlayer or NonActivePlayer
ConnectedBlueCable = 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
. = Background
# = Wall
S = Server
N = NonActivePlayer
A = ActiveBluePlayer
U = UnconnectedBluePC
C = ConnectedBluePC
- = ConnectedCableHB
/ = ConnectedCableVB
=======
SOUNDS
=======
Server move 36772507
================
COLLISIONLAYERS
================
Background
Source, Eraser
UnconnectedCable, ConnectedBlueCable
UnconnectedBluePC, ConnectedBluePC, Server
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] -> [left EraserL]
[EraserL ConnectedBlueCable] -> [EraserL] again
(Server rules)
(Server = BlueServer, RedServer...)
UP [UP ActiveBluePlayer Server | Background] -> [UP ActiveBluePlayer Server | ConnectedCableVB SourceD Background]
DOWN [DOWN ActiveBluePlayer Server | Background] -> [DOWN ActiveBluePlayer Server | ConnectedCableVB SourceU Background]
LEFT [LEFT ActiveBluePlayer Server | Background] -> [LEFT ActiveBluePlayer Server | ConnectedCableHB SourceR Background]
RIGHT [RIGHT ActiveBluePlayer Server | Background] -> [RIGHT ActiveBluePlayer Server | ConnectedCableHB SourceL Background]
(Cable rules)
LEFT [LEFT ActiveBluePlayer ConnectedCableHB | Background] -> [LEFT ActiveBluePlayer ConnectedCableHB | ConnectedCableHB SourceR Background]
RIGHT [RIGHT ActiveBluePlayer ConnectedCableHB | Background] -> [RIGHT ActiveBluePlayer ConnectedCableHB | ConnectedCableHB SourceL Background]
UP [UP ActiveBluePlayer ConnectedCableHB | Background] -> [UP ActiveBluePlayer ConnectedCableUHB | ConnectedCableVB SourceD Background]
DOWN [DOWN ActiveBluePlayer ConnectedCableHB | Background] -> [DOWN ActiveBluePlayer ConnectedCableDHB | ConnectedCableVB SourceU Background]
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]
(
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