Skip to content

Instantly share code, notes, and snippets.

@SharkWithLasers
Last active July 2, 2021 23:40
Show Gist options
  • Save SharkWithLasers/e217155eb292e61945276223f76be2e9 to your computer and use it in GitHub Desktop.
Save SharkWithLasers/e217155eb292e61945276223f76be2e9 to your computer and use it in GitHub Desktop.
Ignore the Elephant (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Ignore the Elephant
( debug )
run_rules_on_level_start
========
OBJECTS
========
Background
darkgray
Wall
BROWN DARKBROWN
00010
11111
01000
11111
00010
Target
lightred
0...0
.0.0.
..0..
.0.0.
0...0
UpPlayer
Black White lightbrown darkbrown
.020.
21212
22222
32223
.333.
DownPlayer
Black White lightbrown darkbrown
.333.
32223
22222
21212
.020.
LeftPlayer
Black White lightbrown darkbrown
.223.
01223
22223
01223
.223.
RightPlayer
Black White lightbrown darkbrown
.322.
32210
32222
32210
.322.
FrozenUpPlayer
Black White red darkbrown
.020.
21212
22222
32223
.333.
FrozenDownPlayer
Black White red darkbrown
.333.
32223
22222
21212
.020.
FrozenLeftPlayer
Black White red darkbrown
.223.
01223
22223
01223
.223.
FrozenRightPlayer
Black White red darkbrown
.322.
32210
32222
32210
.322.
UpNpc
Black White orange white
.020.
21212
22222
32223
.333.
DownNpc
Black White orange white
.333.
32223
22222
21212
.020.
LeftNpc
Black White orange white
.223.
01223
22223
01223
.223.
RightNpc
Black White orange white
.322.
32210
32222
32210
.322.
FrozenUpNpc
Black White red white
.020.
21212
22222
32223
.333.
FrozenDownNpc
Black White red white
.333.
32223
22222
21212
.020.
FrozenLeftNpc
Black White red white
.223.
01223
22223
01223
.223.
FrozenRightNpc
Black White red white
.322.
32210
32222
32210
.322.
SightLeft
yellow
.....
00000
.....
00000
.....
SightRight
yellow
.....
00000
.....
00000
.....
SightUp
yellow
.0.0.
.0.0.
.0.0.
.0.0.
.0.0.
SightDown
yellow
.0.0.
.0.0.
.0.0.
.0.0.
.0.0.
Elephant
lightblue black white
.000.
.1000
20000
0.000
0.0.0
FakeElephant
pink black white
.000.
.1000
20000
0.000
0.0.0
AngryElephant
red black white
.000.
.1000
20000
0.000
0.0.0
Grate
#111111 #333333
0.1.1
.....
1.0.0
.....
1.0.0
BadMessage1
blue
BadMessage2
blue
BadMessage3
blue
BadMessage4
blue
BadMessage5
blue
BadMessage6
blue
BadMessage7
blue
BadMessage8
blue
ElephantSpotted
transparent
=======
LEGEND
=======
FrozenPlayer = FrozenUpPlayer or FrozenDownPlayer or FrozenLeftPlayer or FrozenRightPlayer
MovingPlayer = UpPlayer or DownPlayer or LeftPlayer or RightPlayer
FrozenNpc = FrozenUpNpc or FrozenDownNpc or FrozenLeftNpc or FrozenRightNpc
StationaryNpc = UpNpc or DownNpc or LeftNpc or RightNpc
Npc = FrozenNpc or StationaryNpc
LeftLooker = LeftPlayer or LeftNpc
UpLooker = UpPlayer or UpNpc
RightLooker = RightPlayer or RightNpc
DownLooker = DownPlayer or DownNpc
FrozenEntity = FrozenPlayer or FrozenNpc
ValidEntity = MovingPlayer or StationaryNpc
Player = MovingPlayer or FrozenPlayer
Obstacle = Player or Elephant or Wall or Npc or FakeElephant
(
BlehMessage = BadMessage1 or BadMessage3 or BadMessage4 or BadMessage5 or BadMessage6 or BadMessage7 or BadMessage8
BadMessage = BadMessage2
)
BadMessage = BadMessage1 or BadMessage2 or BadMessage3 or BadMessage4 or BadMessage5 or BadMessage6 or BadMessage7 or BadMessage8
Sight = SightLeft or SightRight or SightUp or SightDown
e = Elephant
w = UpPlayer
s = DownPlayer
a = LeftPlayer
d = RightPlayer
. = Background
# = Wall
x = Target
g = Grate
i = UpNpc
j = LeftNpc
k = DownNpc
l = RightNpc
f = FakeElephant
=======
SOUNDS
=======
(fart sound)
sfx0 1446702
(bad message sound)
sfx1 11539108
endlevel 88595903
================
COLLISIONLAYERS
================
Background
( BadMessage, ElephantSpotted, BlehMessage )
BadMessage, ElephantSpotted
Target
SightLeft,
SightRight,
SightUp,
SightDown,
Player, Elephant, Wall, Grate, NPC, FakeElephant, AngryElephant
======
RULES
======
( cleanup )
[MovingPlayer] [Sight] -> [MovingPlayer] []
[BadMessage] -> []
( [FrozenNpc] -> cancel )
[> FrozenPlayer] -> [FrozenPlayer random BadMessage] sfx1
(LeftPlayer movement)
[UP LeftPlayer] -> [UpPlayer]
RIGHT [Right LeftPlayer | Npc] -> [Right LeftPlayer | Right NPC]
LEFT [Left LeftPlayer | Npc] -> [left LeftPlayer | left Npc]
[DOWN LeftPlayer] -> [DownPlayer]
(RightPlayer movement)
[UP RightPlayer] -> [UpPlayer]
RIGHT [Right RightPlayer | NPC] -> [Right RightPlayer | Right NPC]
LEFT [Left RightPlayer | NPC] -> [left RightPlayer | Left NPC]
[DOWN RightPlayer] -> [DownPlayer]
(UpPlayer movement)
UP [UP UpPlayer | NPC] -> [UP UpPlayer | UP NPC]
[Right UpPlayer] -> [RightPlayer]
[Left UpPlayer] -> [LeftPlayer]
DOWN [DOWN UpPlayer | NPC] -> [DOWN UpPlayer | DOWN NPC]
(DownPlayer movement)
UP [UP DownPlayer | NPC] -> [UP DownPlayer | UP NPC]
[Right DownPlayer] -> [RightPlayer]
[Left DownPlayer] -> [LeftPlayer]
DOWN [DOWN DownPlayer | NPC] -> [DOWN DownPlayer | DOWN NPC]
[> Npc | Npc] -> [> Npc | > Npc]
(sights)
late LEFT [ LeftLooker | Elephant ] -> [ LeftLooker | Elephant ElephantSpotted]
late LEFT [ LeftLooker | no Obstacle ] -> [ LeftLooker | SightLeft]
late LEFT [ SightLeft | no Obstacle ] -> [SightLeft | SightLeft]
late Right [ RightLooker | Elephant ] -> [ RightLooker | Elephant ElephantSpotted]
late Right [ RightLooker | no Obstacle ] -> [ RightLooker | SightRight]
late Right [ SightRight | no Obstacle ] -> [SightRight | SightRight]
late Up [ UpLooker | Elephant ] -> [ UpLooker | Elephant ElephantSpotted]
late Up [ UpLooker | no Obstacle ] -> [ UpLooker | SightUp]
late Up [ SightUp | no Obstacle ] -> [SightUp | SightUp]
late Down [ DownLooker | Elephant ] -> [ DownLooker | Elephant ElephantSpotted]
late Down [ DownLooker | no Obstacle ] -> [ DownLooker | SightDown]
late Down [ SightDown | no Obstacle ] -> [SightDown | SightDown]
late LEFT [ LeftPlayer | Elephant ] -> [ LeftPlayer | Elephant ElephantSpotted]
late LEFT [ LeftPlayer | no Obstacle ] -> [ LeftPlayer | SightLeft]
late LEFT [ SightLeft | no Obstacle ] -> [SightLeft | SightLeft]
late Right [ RightPlayer | Elephant ] -> [ RightPlayer | Elephant ElephantSpotted]
late Right [ RightPlayer | no Obstacle ] -> [ RightPlayer | SightRight]
late Right [ SightRight | no Obstacle ] -> [SightRight | SightRight]
late Up [ UpPlayer | Elephant ] -> [ UpPlayer | Elephant ElephantSpotted]
late Up [ UpPlayer | no Obstacle ] -> [ UpPlayer | SightUp]
late Up [ SightUp | no Obstacle ] -> [SightUp | SightUp]
late Down [ DownPlayer | Elephant ] -> [ DownPlayer | Elephant ElephantSpotted]
late Down [ DownPlayer | no Obstacle ] -> [ DownPlayer | SightDown]
late Down [ SightDown | no Obstacle ] -> [SightDown | SightDown]
late LEFT [MovingPlayer] [ SightLeft | Elephant ] -> [MovingPlayer] [ SightLeft | Elephant ElephantSpotted]
late Right [MovingPlayer] [ SightRight | Elephant ] -> [MovingPlayer] [ SightRight | Elephant ElephantSpotted]
late Up [MovingPlayer] [ SightUp | Elephant ] -> [MovingPlayer] [ SightUp | Elephant ElephantSpotted]
late DOWN [MovingPlayer] [ SightDown | Elephant ] -> [MovingPlayer] [ SightDown | Elephant ElephantSpotted]
(
( this don't work...gotta handle sights on angry elephant )
late [Elephant ElephantSpotted] [LeftPlayer] -> [AngryElephant ElephantSpotted] [FrozenLeftPlayer] sfx0
late [Elephant ElephantSpotted] [RightPlayer] -> [AngryElephant ElephantSpotted] [FrozenRightPlayer] sfx0
late [Elephant ElephantSpotted] [UpPlayer] -> [AngryElephant ElephantSpotted] [FrozenUpPlayer] sfx0
late [Elephant ElephantSpotted] [DownPlayer] -> [AngryElephant ElephantSpotted] [FrozenDownPlayer] sfx0
late [ElephantSpotted] [LeftNpc] -> [ElephantSpotted] [FrozenLeftNpc]
late [ElephantSpotted] [RightNpc] -> [ElephantSpotted] [FrozenRightNpc]
late [ElephantSpotted] [UpNpc] -> [ElephantSpotted] [FrozenUpNpc]
late [ElephantSpotted] [DownNpc] -> [ElephantSpotted] [FrozenDownNpc]
)
late [ElephantSpotted] [LeftPlayer] -> [ElephantSpotted] [FrozenLeftPlayer] sfx0
late [ElephantSpotted] [RightPlayer] -> [ElephantSpotted] [FrozenRightPlayer] sfx0
late [ElephantSpotted] [UpPlayer] -> [ElephantSpotted] [FrozenUpPlayer] sfx0
late [ElephantSpotted] [DownPlayer] -> [ElephantSpotted] [FrozenDownPlayer] sfx0
late [ElephantSpotted] [LeftNpc] -> [ElephantSpotted] [FrozenLeftNpc]
late [ElephantSpotted] [RightNpc] -> [ElephantSpotted] [FrozenRightNpc]
late [ElephantSpotted] [UpNpc] -> [ElephantSpotted] [FrozenUpNpc]
late [ElephantSpotted] [DownNpc] -> [ElephantSpotted] [FrozenDownNpc]
late [BadMessage1] -> [] message The bee population is being decimated by the rising demand for almond milk!
late [BadMessage2] -> [] message Son...it's your fault that mom and I are getting divorced.
late [BadMessage3] -> [] message Grandma's racism is really making family dinner uncomfortable.
late [BadMessage4] -> [] message WE NEED TO FIX OUR CRUMBLING INFRASTRUCTURE!
late [BadMessage5] -> [] message Hey...if you need help paying the bills, I can always lend you some money.
late [BadMessage6] -> [] message You'll never finish that game your working on...
late [BadMessage7] -> [] message Maybe you shouldn't add "My Heart Will Go On" to the karaoke queue.
late [BadMessage8] -> [] message HOLY SHIT! THERE'S AN ELEPHANT IN THIS ROOM!
==============
WINCONDITIONS
==============
no FrozenEntity
all ValidEntity on Target
=======
LEVELS
=======
(initial level...)
########
#x.l...#
#.w.xe.#
#......#
########
(manuevering)
##########
##.ee.#.a#
##g...#..#
#e..g...g#
#e..x#..e#
#.i#.....#
##xee..e.#
##########
(more peeps)
##########
######..x#
####..k..#
#........#
#.e....e.#
#....#...#
#...#...##
#wx....###
##########
(look into my eyes)
############
###..e.e.###
#...k..x...#
#........g.#
#.....e....#
#.xi..e..xe#
#........a.#
############
(even more peeps)
############
#####......#
##......k..#
##e.s......#
##ex...g.xe#
##...xg....#
#..e#....j.#
#e....e....#
############
(3 extra peeps ayyy)
##########
#..ee....#
#........#
#..l..s..#
#...xx...#
#e..xx...#
#e.i..j..#
#........#
#........#
##########
(dble push ayyy)
###########
#.........#
#..s....k.#
#.x..e..x.#
#e........#
#...g..j.e#
#e.l......#
#ex.....x.#
#....eee..#
###########
MESSAGE Hooray you did it! Way to ignore the important stuff!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment