Skip to content

Instantly share code, notes, and snippets.

@increpare
Last active April 25, 2024 14:42
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/0bd7dd5653288b5791acc133c2400ebd to your computer and use it in GitHub Desktop.
Save increpare/0bd7dd5653288b5791acc133c2400ebd 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 Big dog and little dog (Test version)
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
brown
.....
00...
.000.
.0.0.
.....
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