Skip to content

Instantly share code, notes, and snippets.

@increpare
Created April 25, 2024 14:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save increpare/31e3364cb6fa87f336ac346b94dbb0b7 to your computer and use it in GitHub Desktop.
Save increpare/31e3364cb6fa87f336ac346b94dbb0b7 to your computer and use it in GitHub Desktop.
Nanny Dog (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Nanny Dog
author increpare
homepage www.increpare.com
run_rules_on_level_start
( verbose_logging )
color_palette 14
background_color green
========
OBJECTS
========
blank
green
Background
lightgreen green
11111
11111
11011
11111
11111
wall
darkgreen brown darkblue
.000.
00000
20000
.202.
..1..
Baby
black pink white blue red
131..
111..
4112.
.112.
.1.11
Adult_Head
brown yellow blue red
00000
12121
11111
.111.
33333
Adult_body
red darkblue yellow black
00000
20002
11111
11.11
33.33
Dog
lightgray gray pink brown
..30.
..002
03000
.0.0.
.0.0.
dog_angry_u
lightgray gray pink brown white red
4.4..
4.400
200..
0.300
..0..
dog_angry_d
lightgray gray pink brown white red
..0..
003.0
..002
004.4
..4.4
dog_angry_l
lightgray gray pink brown white red
4420.
..0..
44030
.0.0.
.0.0.
dog_angry_r
lightgray gray pink brown white red
.0244
..0..
03044
.0.0.
.0.0.
look_token
yellow
blood
#ff0000
.00..
0000.
00000
00000
.000.
=======
LEGEND
=======
adult = Adult_Head or Adult_body
. = Background
, = blank
# = Wall
p = Dog
* = adult_head
& = adult_body
w = dog_angry_u
s = dog_angry_d
a = dog_angry_l
d = dog_angry_r
b = Baby
pushable = dog or adult or baby
pusher = dog or adult or Baby
dog_angry = dog_angry_u or dog_angry_d or dog_angry_l or dog_angry_r
Player = dog or dog_angry
obstacle = wall or dog or adult or baby
sightblocker = wall
=======
SOUNDS
=======
dog_angry create 98923704
dog_angry move 98923704
adult move 98218307
blood create 13851102
================
COLLISIONLAYERS
================
Background
blank
blood
baby, Wall, Adult, dog, dog_angry
look_token
======
RULES
======
[ > dog_angry ] -> [ > dog ]
[ > player ] -> [ > player ] again
[ dog_angry_u ] -> [ up dog_angry_u ] again
[ dog_angry_d ] -> [ down dog_angry_d ] again
[ dog_angry_l ] -> [ left dog_angry_l ] again
[ dog_angry_r ] -> [ right dog_angry_r ] again
[ > dog_angry | adult ] -> [ > dog_angry | > adult ]
[ > dog_angry | wall ] -> [ dog | wall ]
[ > pusher | pushable ] -> [ > pusher | > pushable ]
+ down [ up Adult_Head | Adult_body ] -> [ up Adult_Head | up Adult_body ]
+ down [ down Adult_Head | Adult_body ] -> [ down Adult_Head | down Adult_body ]
+ down [ left Adult_Head | Adult_body ] -> [ left Adult_Head | left Adult_body ]
+ down [ right Adult_Head | Adult_body ] -> [ right Adult_Head | right Adult_body ]
+ down [ Adult_Head | up Adult_body ] -> [ up Adult_Head | up Adult_body ]
+ down [ Adult_Head | down Adult_body ] -> [ down Adult_Head | down Adult_body ]
+ down [ Adult_Head | left Adult_body ] -> [ left Adult_Head | left Adult_body ]
+ down [ Adult_Head | right Adult_body ] -> [ right Adult_Head | right Adult_body ]
[ dog_angry ] [ > pushable | wall ] -> [ dog ] [ > pushable | wall ]
[ stationary player ] [ > pushable ] -> [ stationary player ] [ pushable ]
[ stationary player | no sightblocker ] -> [ dog | > look_token ]
up [ dog | baby ] -> [ | dog blood ] again
down [ dog | baby ] -> [ | dog blood ] again
left [ dog | baby ] -> [ | dog blood ] again
right [ dog | baby ] -> [ | dog blood ] again
up [ dog ] [ up look_token | Baby ] -> [ up dog_angry_u ] [ |baby] again
+ down [ dog ] [ down look_token | Baby ] -> [ down dog_angry_d ] [ |baby] again
+ left [ dog ] [ left look_token | Baby ] -> [ left dog_angry_l ] [ |baby] again
+ right [ dog ] [ right look_token | Baby ] -> [ right dog_angry_r ] [ |baby] again
+ [ > look_token | no sightblocker no baby ] -> [ | > look_token ]
+ [ > look_token | sightblocker ] -> [ | sightblocker ]
[ look_token ] -> []
[ > dog_angry | baby ] -> [ | dog blood ]
late down [ Adult_Head | no Adult_body ] -> cancel
(level editor only bits )
( down [ Adult_Head | no Adult_body ] -> [Adult_Head | Adult_body ] )
( up [Adult_body | no Adult_Head ] -> [ Adult_body | Adult_Head ] )
==============
WINCONDITIONS
==============
no Baby
some dog
=======
LEVELS
=======
###############
#........#....#
#........#....#
#.....*..#....#
#.....&....b..#
#....##########
#........#,,,,,
#..p..*..#,,,,,
#.....&..#,,,,,
#........#,,,,,
##########,,,,,
##########.
#......*.#.
#......&.#.
#......*##.
#......&###
#......*..#
#......&.b#
#.......###
#..*.*..#,,
#..&.&..#,,
#...p...#,,
#.......#,,
#########,,
message that's it for now
(
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#######
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#.....#
#.....#
#.....#
#######
########
#......#
#......#
#......#
#......#
#......#
########
##########
#........#
#........#
#........#
#........#
#........#
#........#
#........#
#........#
##########
#########
#.......#
#...*.#.#
#...&..b#
#.p.....#
#.......#
#########
(104)
#######
#...p.#
#.*..##
#.&.#b#
#.....#
#.....#
#######
##########
#........#
#.p.*....#
#...&.#..#
#........#
#........#
#########b
##########
#........#
#........#
#........#
#........#
#........#
##########
########
#......#
#....#b#
#p*....#
#.&...##
#..#...#
########
########,,,
#......#,,,
#..*.p.#,,,
#..&...#,,,
#####.#####
#.....*.*.#
#.....&b&.#
##.##.##.##
#..........
#..........
#.......#..
#.......#..
#########..
########...
#......#...
#..*.p.#...
#..&...#...
#####.#####
#.....*.*.#
#.....&b&.#
##.#..##.##
#.........#
###########
.########......
.#......#......
.#..*.p.#......
.#.*&...#......
###&##.######..
#......*.*.##..
#......&b&..#..
###.#..####.#..
.#..........#..
.############..
)
(
choose 1 [ ] -> [ wall ]
choose 1 [ no wall ] -> [ dog ]
choose 1 down [ no obstacle | no obstacle ] -> [ adult_head | adult_body ]
choose 1 [ no obstacle ] -> [ baby ]
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment