Skip to content

Instantly share code, notes, and snippets.

@pancelor
Last active April 30, 2021 22:53
Show Gist options
  • Save pancelor/1b0d05f20633871396b39588be24c168 to your computer and use it in GitHub Desktop.
Save pancelor/1b0d05f20633871396b39588be24c168 to your computer and use it in GitHub Desktop.
firefighting (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title firefighting
author pancelor
homepage https://pancelor.com/
(Made to investigate problem 4 of https://cms.math.ca/Competitions/APMO/exam/apmo2005.pdf)
(verbose_logging)
========
OBJECTS
========
Background .
Green
House
Black Darkred Brown White
.....
..1..
.121.
12221
.232.
Fire
Red Orange Yellow
.2...
221..
011..
.00..
.....
Shield
LightBlue
.....
..0..
.0.0.
0...0
.....
Player
LightBlue
00.00
0...0
.....
0...0
00.00
FireStarter
Red
00.00
0...0
..0..
0...0
00.00
N0 0
White
..00.
.0..0
.0..0
.0..0
..00.
N1 1
White
...0.
..00.
...0.
...0.
...0.
N2 2
White
..00.
.0..0
...0.
..0..
.0000
N3 3
White
..00.
.0..0
...0.
.0..0
..00.
N4 4
White
.0..0
.0..0
.0000
....0
....0
N5 5
White
.0000
.0...
.000.
....0
.000.
N6 6
White
..00.
.0...
.000.
.0..0
..00.
N7 7
White
.0000
....0
...0.
..0..
..0..
N8 8
White
..00.
.0..0
..00.
.0..0
..00.
N9 9
White
..00.
.0..0
..000
....0
..00.
Minus
transparent
Carry
transparent
Prefire
transparent
MaybeWin
transparent
NoWin
transparent
=======
LEGEND
=======
Number = N0 or N1 or N2 or N3 or N4 or N5 or N6 or N7 or N8 or N9
H = House
F = House and Fire
P = House and Player and FireStarter
=======
SOUNDS
=======
(Crate MOVE 36772507)
================
COLLISIONLAYERS
================
Background
House
Shield Fire Prefire
Player
FireStarter
MaybeWin NoWin
Minus Carry
N0 N1 N2 N3 N4 N5 N6 N7 N8 N9
======
RULES
======
[> Player | No House] -> [Player | ]
[> Player FireStarter | ] -> [ | Player FireStarter]
[Action Player FireStarter House] -> [Player House Prefire]
([Action Player][MaybeWin] -> [][] (if the maybewin from last turn is still around, win))
[Action Player No House] -> cancel
[Action Player Fire] -> cancel
[Action Player Shield] -> cancel
[Action Player][No MaybeWin] -> [Action Player MaybeWin][]
[Action Player House No Shield] -> [Action Player House Shield]
[Action Player] [Fire | House No Fire No Shield] -> [Action Player] [Fire | House Prefire]
late [FireStarter] [MaybeWin] -> [FireStarter] [NoWin] (game isn't over if it hasn't started yet)
late [Prefire] [MaybeWin] -> [Prefire] [NoWin] (game isn't over if fire is still spreading)
late [Prefire] -> [Fire Minus]
late [NoWin] -> []
late [Player][MaybeWin] -> [][] (if the maybewin is still here, kill the player (but leave the level visible for inspection))
startloop
late right [Minus] [N9 | No Number] -> [] [N8 | ]
late right [Minus] [N8 | No Number] -> [] [N7 | ]
late right [Minus] [N7 | No Number] -> [] [N6 | ]
late right [Minus] [N6 | No Number] -> [] [N5 | ]
late right [Minus] [N5 | No Number] -> [] [N4 | ]
late right [Minus] [N4 | No Number] -> [] [N3 | ]
late right [Minus] [N3 | No Number] -> [] [N2 | ]
late right [Minus] [N2 | No Number] -> [] [N1 | ]
late right [Minus] [N1 | No Number] -> [] [N0 | ]
late right [Minus] [N0 | No Number] -> [Carry] [N9 | ]
late right [Carry] [N9 | Number] -> [] [N8 | Number]
late right [Carry] [N8 | Number] -> [] [N7 | Number]
late right [Carry] [N7 | Number] -> [] [N6 | Number]
late right [Carry] [N6 | Number] -> [] [N5 | Number]
late right [Carry] [N5 | Number] -> [] [N4 | Number]
late right [Carry] [N4 | Number] -> [] [N3 | Number]
late right [Carry] [N3 | Number] -> [] [N2 | Number]
late right [Carry] [N2 | Number] -> [] [N1 | Number]
late right [Carry] [N1 | Number] -> [] [N0 | Number]
late right [Carry] [N0 | Number] -> [] [N0 | N0]
endloop
==============
WINCONDITIONS
==============
=======
LEVELS
=======
64......
HHHHHHHH
HPHHHHHH
HHHHHHHH
HHHHHHHH
HHHHHHHH
HHHHHHHH
HHHHHHHH
HHHHHHHH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment