Skip to content

Instantly share code, notes, and snippets.

@raggy
Last active August 29, 2015 14:03
Show Gist options
  • Save raggy/f18dd1c6e5080deeb81c to your computer and use it in GitHub Desktop.
Save raggy/f18dd1c6e5080deeb81c to your computer and use it in GitHub Desktop.
Cats in Hats
Cats in Hats
title Cats in Hats
(title Chat Chapeau)
author Benjamin Davis
homepage bnhw.co.uk
noaction
realtime_interval 0.3
run_rules_on_level_start
(verbose_logging)
========
OBJECTS
========
FloorboardsA
#7C6056 #725951
00010
11111
01000
11111
00100
FloorboardsB
#7C6056 #725951
11111
00001
11111
01000
11111
Rug
#a63535 #b03d3d #a73c3a
00002
01000
00020
10000
00100
RugBottom
#a63535 #b03d3d #a73c3a #963532
00002
01000
00020
10000
33333
Nothing
Transparent
CatOverlay
#ebe6df #d4cabe #413f3b
.....
.....
.0.0.
.000.
.000.
Cat
#ebe6df #d4cabe #413f3b
.101.
.111.
.1111
.111.
.1.1.
CatTailA
#ebe6df #d4cabe
1....
1....
.....
.....
.....
CatTailB
#ebe6df #d4cabe
.....
.1...
1....
.....
.....
CatTailC
#ebe6df #d4cabe
.....
.....
11...
.....
.....
CatTailD
#ebe6df #d4cabe
.....
.....
1....
.1...
.....
CatTailE
#ebe6df #d4cabe
.....
.....
11...
.....
.....
CatTailF
#ebe6df #d4cabe
.....
.1...
1....
.....
.....
RedHatUnwornOverlay
#3b352f #38312c #D66160 #d45b5b
.....
.....
.....
.....
.100.
RedHatUnworn
#3b352f #38312c #D66160 #d45b5b
.100.
.100.
.100.
.322.
11000
RedHatWornOverlay
#3b352f #38312c #D66160 #d45b5b
.....
.....
.....
.100.
.100.
RedHatWorn
#3b352f #38312c #D66160 #d45b5b #ebe6df
.100.
.100.
.322.
11000
.444.
LilacHatUnwornOverlay
#3b352f #38312c #766AA6 #7765a3
.....
.....
.....
.....
.100.
LilacHatUnworn
#3b352f #38312c #766AA6 #7765a3
.100.
.100.
.100.
.322.
11000
LilacHatWornOverlay
#3b352f #38312c #766AA6 #7765a3
.....
.....
.....
.100.
.100.
LilacHatWorn
#3b352f #38312c #766AA6 #7765a3 #ebe6df
.100.
.100.
.322.
11000
.444.
GreenHatUnwornOverlay
#3b352f #38312c #89a365 #859956
.....
.....
.....
.....
.100.
GreenHatUnworn
#3b352f #38312c #89a365 #859956
.100.
.100.
.100.
.322.
11000
GreenHatWornOverlay
#3b352f #38312c #89a365 #859956
.....
.....
.....
.100.
.100.
GreenHatWorn
#3b352f #38312c #89a365 #859956 #ebe6df
.100.
.100.
.322.
11000
.444.
BlueHatUnwornOverlay
#3b352f #38312c #657fa3 #5f75a1
.....
.....
.....
.....
.100.
BlueHatUnworn
#3b352f #38312c #657fa3 #5f75a1
.100.
.100.
.100.
.322.
11000
BlueHatWornOverlay
#3b352f #38312c #657fa3 #5f75a1
.....
.....
.....
.100.
.100.
BlueHatWorn
#3b352f #38312c #657fa3 #5f75a1 #ebe6df
.100.
.100.
.322.
11000
.444.
WallOverlay
#887166 #806D63
.....
.....
00000
00000
00000
Wall
#887166 #806D63
00000
00000
11111
11111
11111
BorderT
#948378
.....
.....
00000
.....
.....
BorderB
#948378
.....
00000
.....
.....
.....
BorderLOverlay
#948378
.....
.....
0....
0....
0....
BorderL
#948378
0....
0....
.....
.....
.....
BorderROverlay
#948378
.....
.....
....0
....0
....0
BorderR
#948378
....0
....0
.....
.....
.....
BorderTL
#948378
.....
0....
.....
.....
.....
BorderTR
#948378
.....
....0
.....
.....
.....
BorderBL
#948378
.....
.....
0....
.....
.....
BorderBR
#948378
.....
.....
....0
.....
.....
Worn
Transparent
=======
LEGEND
=======
RedHat = RedHatWorn or RedHatUnworn
LilacHat = LilacHatWorn or LilacHatUnworn
GreenHat = GreenHatWorn or GreenHatUnworn
BlueHat = BlueHatWorn or BlueHatUnworn
HatWorn = RedHatWorn or LilacHatWorn or GreenHatWorn or BlueHatWorn
HatUnworn = RedHatUnworn or LilacHatUnworn or GreenHatUnworn or BlueHatUnworn
Hat = HatWorn or HatUnworn
CatOrHat = Cat or Hat
Player = Cat
Overlay = RedHatUnwornOverlay or RedHatWornOverlay or LilacHatUnwornOverlay or LilacHatWornOverlay or GreenHatUnwornOverlay or GreenHatWornOverlay or BlueHatUnwornOverlay or BlueHatWornOverlay or CatOverlay or WallOverlay
CatTail = CatTailA or CatTailB or CatTailC or CatTailD or CatTailE or CatTailF
Background = Nothing or FloorboardsA or FloorboardsB
Border = BorderT or BorderB or BorderL or BorderLOverlay or BorderR or BorderROverlay or BorderTL or BorderTR or BorderBL or BorderBR
. = Nothing
# = Wall
C = Cat
R = RedHatUnworn
L = LilacHatUnworn
G = GreenHatUnworn
B = BlueHatUnworn
=======
SOUNDS
=======
================
COLLISIONLAYERS
================
Background
Rug, RugBottom
CatTail
Cat, Hat, Wall
Overlay
BorderT
BorderB
BorderL
BorderR
BorderTL
BorderTR
BorderBL
BorderBR
BorderLOverlay
BorderROverlay
Worn
======
RULES
======
( Draw background )
[ Nothing Cat ] -> [ FloorboardsA Cat ]
[ Nothing Hat ] -> [ FloorboardsA Hat ]
[ Nothing Wall ] -> [ FloorboardsA Wall ]
down [ Background | Background ] -> [ Background | FloorboardsA ]
down [ FloorboardsA | FloorboardsA ] -> [ FloorboardsA | FloorboardsB ]
( Draw rug )
[ no Wall ] -> [ Rug ]
[ no Nothing no Wall | Wall | no Nothing ] -> [ | action Wall | ]
[ Rug | stationary Wall ] -> [ | Wall ]
[ action Wall ] -> [ Wall ]
down [ Rug | no Rug no RugBottom ] -> [ RugBottom | ]
( Animate tail )
[ stationary Cat | stationary CatTailA ] -> [ Cat | action CatTailB ]
[ stationary Cat | stationary CatTailB ] -> [ Cat | action CatTailC ]
[ stationary Cat | stationary CatTailC ] -> [ Cat | action CatTailD ]
[ stationary Cat | stationary CatTailD ] -> [ Cat | action CatTailE ]
[ stationary Cat | stationary CatTailE ] -> [ Cat | action CatTailF ]
[ stationary Cat | stationary CatTailF ] -> [ Cat | action CatTailA ]
( Movement )
rigid up [ moving Cat | HatWorn ] -> [ moving Cat | moving HatWorn ]
+ rigid up [ moving HatWorn | HatWorn ] -> [ moving HatWorn | moving HatWorn ]
down [ > Cat | Hat ] -> cancel
left [ > Cat | Hat ] -> cancel
right [ > Cat | Hat ] -> cancel
[ > Cat | Wall ] -> cancel
( Mark worn hats )
late up [ Cat | Hat ] -> [ Cat | Hat Worn ]
late up [ Hat Worn | Hat ] -> [ Hat Worn | Hat Worn ]
( Draw correct hats )
late [ RedHat no Worn ] -> [ RedHatUnworn ]
late [ RedHat Worn ] -> [ RedHatWorn ]
late [ LilacHat no Worn ] -> [ LilacHatUnworn ]
late [ LilacHat Worn ] -> [ LilacHatWorn ]
late [ GreenHat no Worn ] -> [ GreenHatUnworn ]
late [ GreenHat Worn ] -> [ GreenHatWorn ]
late [ BlueHat no Worn ] -> [ BlueHatUnworn ]
late [ BlueHat Worn ] -> [ BlueHatWorn ]
( Draw tail )
right [ Cat | no CatTail ] -> [ Cat | CatTailA ]
late right [ Cat | no CatTail ] [ CatTail ] -> [ Cat | CatTail ] [ ]
late right [ Cat | no CatTail ] [ CatTail ] -> [ Cat | CatTail ] [ ]
( Draw overlays )
late [ Overlay ] -> [ ]
late up [ Cat | no Hat ] -> [ Cat | CatOverlay ]
late up [ RedHatWorn | ] -> [ RedHatWorn | RedHatWornOverlay ]
late up [ RedHatUnworn | ] -> [ RedHatUnworn | RedHatUnwornOverlay ]
late up [ LilacHatWorn | ] -> [ LilacHatWorn | LilacHatWornOverlay ]
late up [ LilacHatUnworn | ] -> [ LilacHatUnworn | LilacHatUnwornOverlay ]
late up [ GreenHatWorn | ] -> [ GreenHatWorn | GreenHatWornOverlay ]
late up [ GreenHatUnworn | ] -> [ GreenHatUnworn | GreenHatUnwornOverlay ]
late up [ BlueHatWorn | ] -> [ BlueHatWorn | BlueHatWornOverlay ]
late up [ BlueHatUnworn | ] -> [ BlueHatUnworn | BlueHatUnwornOverlay ]
late up [ Wall | ] -> [ Wall | WallOverlay ]
( Hack to fix bug )
late up [ Cat | no Hat ] -> [ Cat | CatOverlay ]
late up [ RedHatWorn | ] -> [ RedHatWorn | RedHatWornOverlay ]
late up [ RedHatUnworn | ] -> [ RedHatUnworn | RedHatUnwornOverlay ]
late up [ LilacHatWorn | ] -> [ LilacHatWorn | LilacHatWornOverlay ]
late up [ LilacHatUnworn | ] -> [ LilacHatUnworn | LilacHatUnwornOverlay ]
late up [ GreenHatWorn | ] -> [ GreenHatWorn | GreenHatWornOverlay ]
late up [ GreenHatUnworn | ] -> [ GreenHatUnworn | GreenHatUnwornOverlay ]
late up [ BlueHatWorn | ] -> [ BlueHatWorn | BlueHatWornOverlay ]
late up [ BlueHatUnworn | ] -> [ BlueHatUnworn | BlueHatUnwornOverlay ]
late up [ Wall | ] -> [ Wall | WallOverlay ]
( Clear borders )
[ Border ] -> [ ]
( Draw borders )
up [ Wall | no Wall no Nothing ] -> [ Wall | BorderT ]
down [ Wall | no Wall ] -> [ Wall BorderB | ]
left [ Wall no Nothing | no Wall ] -> [ Wall BorderL | ]
right [ Wall no Nothing | no Wall ] -> [ Wall BorderR | ]
( Draw border overlays )
up [ BorderL | ] -> [ BorderL | BorderLOverlay ]
up [ BorderR | ] -> [ BorderR | BorderROverlay ]
( Draw border corners )
left [ BorderT | Wall ] -> [ BorderT | left Wall ]
left [ BorderB | Wall ] -> [ BorderB | left Wall ]
up [ BorderR | left Wall ] -> [ BorderR | BorderTR Wall ]
down [ BorderR | left Wall ] -> [ BorderR | BorderBR Wall ]
right [ BorderT | Wall ] -> [ BorderT | right Wall ]
right [ BorderB | Wall ] -> [ BorderB | right Wall ]
up [ BorderL | right Wall ] -> [ BorderL | BorderTL Wall ]
down [ BorderL | right Wall ] -> [ BorderL | BorderBL Wall ]
( Clear wall movement )
[ moving Wall ] -> [ Wall ]
==============
WINCONDITIONS
==============
some HatWorn
no HatUnworn
=======
LEVELS
=======
.......
#######
#r...l#
#.....#
#..c..#
#.....#
#.....#
#######
.......
#######
#.###.#
#.#.#g#
#l...r#
#c....#
#######
(.....
#####
#...#
#r#g#
#.#.#
#lcb#
#...#
#####)
.......
#######
#.....#
#.r#g.#
#..#..#
#.lcb.#
#.....#
#######
(.....
#####
#...#
#...#
#.#.#
#r.l#
#c#.#
#...#
#####)
.......
#######
#.....#
#.....#
##.#.##
#.r.l.#
#.c#..#
#.....#
#######
.......
#######
#.r.g.#
#.....#
#.#.#.#
#..l..#
#..c..#
#######
.......
#######
#l#g#b#
#.....#
#..r..#
#.#c#.#
#.#.#.#
#.....#
#######
.......
#######
#.....#
#..#..#
##.l.##
##...##
#.r#g.#
#..#..#
#..c..#
#######
.........
#########
#...l...#
#.......#
#..###..#
#...g...#
#..#.#..#
#...r...#
#...c...#
#########
.........
#########
#.......#
#.......#
#.......#
#.......#
#.......#
#.......#
#.......#
#########
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment