Skip to content

Instantly share code, notes, and snippets.

@dario-zubovic
Created January 25, 2019 19:41
Show Gist options
  • Save dario-zubovic/b51e9f75052dba99c929b2afe41d277a to your computer and use it in GitHub Desktop.
Save dario-zubovic/b51e9f75052dba99c929b2afe41d277a to your computer and use it in GitHub Desktop.
Snakeshit (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Snakeshit
author Dario Zubovic
run_rules_on_level_start
again_interval 0.2
========
OBJECTS
========
Background
DARKBLUE
Target
White
.....
.000.
.0.0.
.000.
.....
Wall
GRAY DARKGRAY
00010
11111
01000
11111
00010
Player
DARKRED
Body1
Lightred
Body2
Pink
Body3
Lightred
Body4
Pink
Fruit
Green
Crate
Orange Yellow
10001
0...0
0...0
0...0
10001
Spike
LIGHTGRAY
.....
..0..
.000.
00000
00000
USpike
LIGHTGRAY
00000
00000
.000.
..0..
.....
Shit
Brown
Temp
transparent
TempDead
TRANSPARENT
Dead
Red White
00000
11101
11011
10111
00000
=======
LEGEND
=======
. = Background
# = Wall
h = Player
1 = Body1
2 = Body2
3 = Body3
4 = Body4
s = Shit
f = Fruit
t = Target
c = Crate
d = Spike
u = USpike
Spikes = Spike or USpike
Tail = Body1 or Body2 or Body3 or Body4
Snake = Player or Tail
Movable = Shit or Crate
=======
SOUNDS
=======
sfx0 81511909
sfx1 83228107
sfx2 36772507
sfx3 35153904
endlevel 20215303
endgame 72457103
================
COLLISIONLAYERS
================
Background
Target
Spikes
Snake, Fruit, Wall, Temp, Shit, Crate
TempDead, Dead
======
RULES
======
( movement )
random [ > Player | Movable ] -> [ > Player | > Movable ] sfx2
[ Body1 | > Player ] -> [ > Body1 | > Player ]
right [ Body1 | vertical Player ] -> [ right Body1 | vertical Player ]
left [ Body1 | vertical Player ] -> [ left Body1 | vertical Player ]
down [ Body1 | horizontal Player ] -> [ down Body1 | horizontal Player ]
up [ Body1 | horizontal Player ] -> [ up Body1 | horizontal Player ]
[ Body2 | > Body1 ] -> [ > Body2 | > Body1 ]
right [ Body2 | vertical Body1 ] -> [ right Body2 | vertical Body1 ]
left [ Body2 | vertical Body1 ] -> [ left Body2 | vertical Body1 ]
down [ Body2 | horizontal Body1 ] -> [ down Body2 | horizontal Body1 ]
up [ Body2 | horizontal Body1 ] -> [ up Body2 | horizontal Body1 ]
[ Body3 | > Body2 ] -> [ > Body3 | > Body2 ]
right [ Body3 | vertical Body2 ] -> [ right Body3 | vertical Body2 ]
left [ Body3 | vertical Body2 ] -> [ left Body3 | vertical Body2 ]
down [ Body3 | horizontal Body2 ] -> [ down Body3 | horizontal Body2 ]
up [ Body3 | horizontal Body2 ] -> [ up Body3 | horizontal Body2 ]
[ Body4 | > Body3 ] -> [ > Body4 | > Body3 ]
right [ Body4 | vertical Body3 ] -> [ right Body4 | vertical Body3 ]
left [ Body4 | vertical Body3 ] -> [ left Body4 | vertical Body3 ]
down [ Body4 | horizontal Body3 ] -> [ down Body4 | horizontal Body3 ]
up [ Body4 | horizontal Body3 ] -> [ up Body4 | horizontal Body3 ]
( ohm nom )
[ > Player | Fruit ] -> [ Temp | Player ] sfx0
[ > Player | > Shit | Wall ] -> [ Temp | Player | Wall ] sfx0
[ > Player | > Shit | Tail ] -> [ Temp | Player | Tail ] sfx0
[ > Player | > Shit | Crate ] -> [ Temp | Player | Crate ] sfx0
[ > Player | > Shit | Fruit ] -> [ Temp | Player | Fruit ] sfx0
[ > Player | > Shit | Shit ] -> [ Temp | Player | Shit ] sfx0
random [ Body1 | Temp ] -> [ Temp | Body1 ]
random [ Body2 | Temp ] -> [ Temp | Body2 ]
random [ Body3 | Temp ] -> [ Temp | Body3 ]
random [ Body4 | Temp ] -> [ Temp | Body4 ]
late [ Temp ] -> [ Shit ]
( spikes )
[ > Player | Spikes ] -> cancel
[ > Movable | Spikes ] -> [ Movable | Spikes ]
[ Snake Spikes ] -> [ TempDead Spikes ] sfx3
[ Dead ] -> cancel
[ TempDead ] -> [ Dead ]
( gravity )
startloop
rigid down [ stationary Snake | no Wall no Movable ] -> [ down Snake | ]
+ rigid [ down Snake | stationary Snake ] -> [ down Snake | down Snake ]
down [ stationary Shit | no Wall no Snake no Crate no Spikes ] -> [ down Shit | ] sfx1
down [ stationary Crate | no Wall no Snake no Shit no Spikes ] -> [ down Crate | ]
endloop
[ Player ] -> again
==============
WINCONDITIONS
==============
All Target on Player
=======
LEVELS
=======
message Snake
###############
#.......#.....#
#.......#.#...#
#.........#...#
#.21h..##.....#
#......###..#t#
#............##
#.........#.###
###############
message Spike
##############
#............#
#....#.......#
#...##.d....t#
#.3.u..#######
#.21h........#
#..#.........#
#............#
#...d........#
##############
message Crate
################
#......c.......#
#......c.......#
#....1hc.......#
#....2.c.......#
#.....cc......t#
#......c.......#
#......c.......#
#dddddddddddddd#
message Fruit
........#####
#########..t#
#.f.......###
#.21h.f...#..
#.3.......#..
#.........#..
#.........#..
###########..
message Shit
#############
#.....234...#
#.....1.#...#
#.....h.#...#
#..f....#...#
#.......#...#
#......d#...#
#......##...#
#......##.t.#
#############
message Snakeshit
#################
#.f.#......#...t#
#..........#....#
#...#....h.u....#
#####.4321...#..#
#......f........#
#...............#
#...............#
#ddddddddddddddd#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment