Skip to content

Instantly share code, notes, and snippets.

@increpare
Last active May 4, 2024 15:13
Show Gist options
  • Save increpare/72a7436847a7b27ee2436d7c2a059cc6 to your computer and use it in GitHub Desktop.
Save increpare/72a7436847a7b27ee2436d7c2a059cc6 to your computer and use it in GitHub Desktop.
Big dog and little 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
color_palette 14
background_color green
( verbose_logging )
========
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
Adult_head_H
brown yellow blue red
011.3
02113
01113
02113
011.3
adult_body_h
red darkblue yellow black
02113
00113
001..
00113
02113
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 or Adult_head_H or adult_body_h
. = Background
, = blank
# = Wall
p = Dog
* = adult_head
& = adult_body
u = Adult_head_H
i = adult_body_h
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 2421301
================
COLLISIONLAYERS
================
Background
blank
blood
baby, Wall, Adult, dog, dog_angry
look_token
======
RULES
======
(feels better to not have the following behaviour - I should never rely on being able to do this maneouvre though)
( [ down dog_angry_u ] -> cancel )
( [ up dog_angry_d ] -> cancel )
( [ right dog_angry_l ] -> cancel )
( [ left dog_angry_r ] -> cancel )
[ > 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 ]
+ right [ up Adult_Head_h | Adult_body_h ] -> [ up Adult_Head_h | up Adult_body_h ]
+ right [ down Adult_Head_h | Adult_body_h ] -> [ down Adult_Head_h | down Adult_body_h ]
+ right [ left Adult_Head_h | Adult_body_h ] -> [ left Adult_Head_h | left Adult_body_h ]
+ right [ right Adult_Head_h | Adult_body_h ] -> [ right Adult_Head_h | right Adult_body_h ]
+ right [ Adult_Head_h | up Adult_body_h ] -> [ up Adult_Head_h | up Adult_body_h ]
+ right [ Adult_Head_h | down Adult_body_h ] -> [ down Adult_Head_h | down Adult_body_h ]
+ right [ Adult_Head_h | left Adult_body_h ] -> [ left Adult_Head_h | left Adult_body_h ]
+ right [ Adult_Head_h | right Adult_body_h ] -> [ right Adult_Head_h | right Adult_body_h ]
[ dog_angry ] [ > pushable | stationary obstacle ] -> [ dog_angry ] [ pushable | stationary obstacle ]
( [ 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
late right [ Adult_Head_h | no Adult_body_h ] -> 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
=======
message level 1 of 6 : My dog is very exciteable.
###############
#........#....#
#........#....#
#.....*..#....#
#.....&....b..#
#....##########
#........#,,,,,
#..p..*..#,,,,,
#.....&..#,,,,,
#........#,,,,,
##########,,,,,
message level 2 of 6 : Yeah, he doesn't really get on with small dogs.
##########.
#......*.#.
#......&.#.
#......*##.
#......&###
#......*..#
#......&.b#
#.......###
#..*.*..#,,
#..&.&..#,,
#...p...#,,
#.......#,,
#########,,
message level 3 of 6 : What do you expect me to do?
##############
#............#
#.####.......#
#b*..........#
#b&..........#
#b*..........#
#b&..........#
######.......#
,,,,,#.*.*.*.#
,,,,,#.&.&.&.#
,,,,,#.......#
,,,,,#.*...*.#
,,,,,#.&.p.&.#
,,,,,#.......#
,,,,,#########
message level 4 of 6 : Just give him a kick if he's causing you trouble.
#########.....
#..bb...######
#.#ui#.......#
#.#..#uiui##.#
#..........#.#
#..........#.#
######...###.#
,,,,,#.....*b#
,,,,,#.....&b#
######...#####
#........#,,,,
#......b.#,,,,
#........#,,,,
#.ui.*...#,,,,
#....&...#,,,,
#..p.....#,,,,
#........#,,,,
##########,,,,
message level 5 of 6 : *shrug* There aren't usually small dogs around the park at this hour.
###################
#.................#
#.####.......####.#
#.*.............*b#
#b&.............&.#
#.*.............*b#
#b&.............&.#
######.......######
,,,,,#.*.p.*.#,,,,,
,,,,,#.&...&.#,,,,,
,,,,,#.......#,,,,,
,,,,,#########,,,,,
message Level 6 of 6 : I mean, come on. It's not hard to imagine he could confuse it with a rat.
,,,,,,,,,,,,,,,,,,,,############
,,,,,,,,,,,,,,,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,#..........#
,,###################..........#
,,#........................#...#
,,#........................#...#
,,#........................#...#
,,#........................#...#
,,#........................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.......#b&...............#
,,,,,#...*.p.#b*...............#
,,,,,#...&...#b&...............#
,,,,,#.......#.####............#
,,,,,#....ui.#.................#
,,,,,#.......########..........#
,,,,,#########,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,#.########.#
,,,,,,,,,,,,,,,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,############
message The End. You can't take your dog for a walk in peace anymore!
(
################################
#...................#..........#
#...................#..........#
#...................#..........#
#.....#######.......#..........#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.......#b&...............#
,,,,,#...*.p.#b*...............#
,,,,,#...&...#b&...............#
,,,,,#.......#.####............#
,,,,,#....ui.#.................#
,,,,,#.......########..........#
,,,,,#########......#..#.#.#.#.#
....................#..........#
....................#..........#
....................############
################################
#...................#..........#
#...................#..........#
#...................#..........#
#############.......#..........#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.......#b&...............#
,,,,,#...*.p.#b*...............#
,,,,,#...&...#b&...............#
,,,,,#.......#.####............#
,,,,,#....ui.#.................#
,,,,,#.......########..........#
,,,,,#########......#..........#
....................#.########.#
....................#..........#
....................############
....................############
....................#..........#
....................#..........#
....................#..........#
#####################..........#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.......#b&...............#
,,,,,#...*.p.#b*...............#
,,,,,#...&...#b&...............#
,,,,,#.......#.####............#
,,,,,#....ui.#.................#
,,,,,#.......########..........#
,,,,,#########......#..........#
....................#.########.#
....................#..........#
....................############
....................############
....................#..........#
....................#..........#
....................#..........#
...##################..........#
...#.......................#...#
...#.......................#...#
...#.......................#...#
...#.......................#...#
...#.......................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.......#b&...............#
,,,,,#...*.p.#b*...............#
,,,,,#...&...#b&...............#
,,,,,#.......#.####............#
,,,,,#....ui.#.................#
,,,,,#.......########..........#
,,,,,#########......#..........#
....................#.########.#
....................#..........#
....................############
....................###########
....................#.........#
....................#.........#
....................#.........#
...##################.........#
...#......................#...#
...#......................#...#
...#.........#....#.#.....#...#
...#.........#....#.#.....#...#
...#.........#....#.#.....#...#
######.......#uiui#.#.....#...#
#............#bbbb..#.........#
#.####.......########.........#
#b*..........#b*..............#
#b&..........#b&..............#
#b*..........#b*..............#
#b&..........#b&..............#
######.......#.####...........#
,,,,,#.b.....#................#
,,,,,#.......######...........#
,,,,,#....ui.#....#...........#
,,,,,#.......#....#...#####...#
,,,,,#...*...#....#...........#
,,,,,#...&.p.#....#############
,,,,,#.......#.................
.....#.......#.................
.....#########.................
....................###########
....................#.........#
....................#.........#
....................#.........#
...##################.........#
...#......................#...#
...#......................#...#
...#.........#....#.#.........#
...#.........#....#.#.........#
...#.........#....#.#.........#
######.......#uiui#.#.........#
#............#bbbb..#.........#
#.####.......########.........#
#b*..........#b*..............#
#b&..........#b&..............#
#b*..........#b*..............#
#b&..........#b&..............#
######.......#.####...........#
,,,,,#.b.....#................#
,,,,,#.......######...........#
,,,,,#....ui.#....#...........#
,,,,,#.......#....#...#######.#
,,,,,#...*...#....#...........#
,,,,,#...&.p.#....#############
,,,,,#.......#.................
.....#.......#.................
.....#########.................
....................###########
....................#.........#
....................#.........#
....................#.........#
...##################.........#
...#......................#...#
...#......................#...#
######.......#....#.#.........#
#............#....#.#.........#
#.####.......#....#.#.........#
#b*..........#uiui#.#.........#
#b&..........#bbbb..#.........#
#b*..........########.........#
#b&..........#b*..............#
######.......#b&..............#
.....#.b.....#b*..............#
.....#.......#b&..............#
.....#....ui.#.####...........#
,,,,.#.......#................#
,,,,,#...*...######...........#
,,,,,#...&.p.#....#...........#
,,,,,#.......#....#...#######.#
,,,,,#########....#...........#
,,,,..............#############
....................###########
....................#.........#
....................#.........#
...##################.........#
...#......................#...#
...#......................#...#
...#..........................#
######.......#....#.#.........#
#............#....#.#.........#
#.####.......#....#.#.........#
#b*..........#uiui#.#.........#
#b&..........#bbbb..#.........#
#b*..........########.........#
#b&..........#b*..............#
######.......#b&..............#
.....#.b.....#b*..............#
.....#.......#b&..............#
.....#....ui.#.####...........#
,,,,.#.......#................#
,,,,,#...*...######...........#
,,,,,#...&...#....#...........#
,,,,,#.....p.#....#...#######.#
,,,,,#.......#....#...........#
,,,,.#########....#############
################################
#...................#..........#
#...................#..........#
#...................#..........#
#.....#######.......#..........#
#..........................#...#
#..........................#...#
#..........................#...#
#..........................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.....*.#b&...............#
,,,,,#.....&.#b*...............#
,,,,,#...p...#b&...............#
,,,,,#.......#.####............#
,,,,,#...ui..#.................#
,,,,,#.......########..........#
,,,,,#########......#..#.#.#.#.#
....................#..........#
....................#..........#
....................############
,,,,,,,,,,,,,,,,,,,,############
,,,,,,,,,,,,,,,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,#..........#
,,###################..........#
,,#........................#...#
,,#........................#...#
,,#........................#...#
,,#........................#...#
,,#........................#...#
######.....................#...#
#............#....#.#..........#
#.####.......#....#.#..........#
#b*..........#....#.#..........#
#b&..........#uiui#.#..........#
#b*..........#bbbb..#..........#
#b&..........########..........#
######.b.....#b*...............#
,,,,,#.......#b&...............#
,,,,,#...*.p.#b*...............#
,,,,,#...&...#b&...............#
,,,,,#.......#.####............#
,,,,,#....ui.#.................#
,,,,,#.......########..........#
,,,,,#########,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,#.########.#
,,,,,,,,,,,,,,,,,,,,#..........#
,,,,,,,,,,,,,,,,,,,,############
( manipulate small dog with indirect pushing )
..........
..........
....*.....
...#&#....
...#b#....
...#*#....
....&.....
..........
.....p....
..........
..........
..........
(kinda the same concept as others, also don't know how to make it interesting)
...................
...................
###...#######...###
#.......b*b.......#
#.......b&b.......#
###...#######...###
...................
.........*.........
......p..&.........
...................
...................
...................
............
............
...........#
......####.#
.........*b#
.........&b#
.......#####
.....b......
............
............
p.**........
..&&........
............
............
............
............
............
...........#
.......###.#
.........*b#
.........&b#
.......#####
.....b......
....*.......
....&.......
..p.........
............
#################
#...............#
#.####..........#
#b*.............#
#b&.............#
#b*.............#
#b&.............#
#b*.............#
#b&.............#
######..........#
,,,,,#.b........#
,,,,,#..........#
,,,,,#.....*.ui.#
,,,,,#...p.&....#
,,,,,#..........#
,,,,,############
##################
#................#
#.####...........#
#b*..............#
#b&..............#
#b*..............#
#b&..............#
#b*..............#
#b&..............#
######...b.......#
#................#
#................#
#..........**ui..#
#..........&&....#
#................#
#..........p.....#
#........#.......#
#................#
#................#
#................#
##################
##################
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
#................#
##################
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#######
#######
#.....#
#.....#
#.....#
#.....#
#.....#
#.....#
#.....#
#.....#
#######
########
#......#
#......#
#......#
#......#
#......#
########
##########
#........#
#........#
#........#
#........#
#........#
#........#
#........#
#........#
##########
#########
#.......#
#...*.#.#
#...&..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