Created
August 19, 2018 10:24
-
-
Save edderiofer/5e4354d2d3c13d6f0fb67cba1c5a0237 to your computer and use it in GitHub Desktop.
RE: Treat of the Spectrum (PuzzleScript Script)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Play this game by pasting the script in http://www.puzzlescript.net/editor.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
title RE: Treat of the Spectrum | |
author edderiofer | |
homepage http://edderiofer.blogspot.com | |
norepeat_action | |
verbose_logging | |
again_interval 0.2 | |
======== | |
OBJECTS | |
======== | |
Background . | |
grey | |
Wall # | |
darkgrey | |
player | |
transparent black | |
.000. | |
.000. | |
10101 | |
.111. | |
.1.1. | |
goal g | |
orange white | |
00000 | |
01110 | |
01010 | |
01110 | |
00000 | |
blockred a | |
red | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
hdoorredclosed b | |
red | |
..... | |
00000 | |
00000 | |
00000 | |
..... | |
ldoorredopen c | |
red | |
..... | |
0.... | |
0.... | |
0.... | |
..... | |
rdoorredopen d | |
red | |
..... | |
....0 | |
....0 | |
....0 | |
..... | |
vdoorredclosed e | |
red | |
.000. | |
.000. | |
.000. | |
.000. | |
.000. | |
udoorredopen f | |
red | |
.000. | |
..... | |
..... | |
..... | |
..... | |
ddoorredopen h | |
red | |
..... | |
..... | |
..... | |
..... | |
.000. | |
blockwhite i | |
white | |
..... | |
.000. | |
.000. | |
.000. | |
..... | |
hdoorwhiteclosed j | |
white | |
..... | |
00000 | |
00000 | |
00000 | |
..... | |
ldoorwhiteopen k | |
white | |
..... | |
0.... | |
0.... | |
0.... | |
..... | |
rdoorwhiteopen l | |
white | |
..... | |
....0 | |
....0 | |
....0 | |
..... | |
vdoorwhiteclosed m | |
white | |
.000. | |
.000. | |
.000. | |
.000. | |
.000. | |
udoorwhiteopen n | |
white | |
.000. | |
..... | |
..... | |
..... | |
..... | |
ddoorwhiteopen o | |
white | |
..... | |
..... | |
..... | |
..... | |
.000. | |
actioned | |
#FFFF00 | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
winning | |
transparent | |
counter | |
transparent | |
fired | |
#FF00FF | |
..... | |
..... | |
..0.. | |
..... | |
..... | |
hit | |
#00FFFF | |
..... | |
...0. | |
..0.. | |
.0... | |
..... | |
inventoryred | |
red transparent | |
.000. | |
.000. | |
10101 | |
.111. | |
.1.1. | |
inventorywhite | |
white transparent | |
.000. | |
.000. | |
10101 | |
.111. | |
.1.1. | |
======= | |
LEGEND | |
======= | |
p = player and inventorywhite | |
doorredclosed = hdoorredclosed or vdoorredclosed | |
doorredopen = ldoorredopen or rdoorredopen or udoorredopen or ddoorredopen | |
doorwhiteclosed = hdoorwhiteclosed or vdoorwhiteclosed | |
doorwhiteopen = ldoorwhiteopen or rdoorwhiteopen or udoorwhiteopen or ddoorwhiteopen | |
doorclosed = doorredclosed or doorwhiteclosed | |
dooropen = doorredopen or doorwhiteopen | |
gunblocker = doorclosed or wall | |
block = blockred or blockwhite | |
inventory = inventoryred or inventorywhite | |
collidable = block or gunblocker | |
======= | |
SOUNDS | |
======= | |
================ | |
COLLISIONLAYERS | |
================ | |
Background | |
goal | |
Player, Wall, block | |
dooropen, doorclosed | |
winning | |
counter | |
actioned | |
fired | |
hit | |
inventory | |
====== | |
RULES | |
====== | |
(toggling on and off "actioned" state, which allows player to fire) | |
[action player no actioned ] -> [actioned player] | |
[action player actioned] -> [no actioned player] | |
(player fires a projectile) | |
[actioned > player | no block] -> [no actioned player | > fired] | |
[actioned > player | block] -> [no actioned player | block hit] | |
(projectile moves) | |
[> fired | no gunblocker no block] -> [no fired | > fired] | |
(if a projectile hits a wall, then cancel the fire; otherwise if it hits a block, the block is marked with "hit") | |
[> fired | gunblocker] -> cancel | |
[> fired | block] -> [ | block hit] | |
(if the player tries to move into a block or a wall or a door, cancel the turn) | |
[> player | collidable] -> cancel | |
(makes the inventory move with the player) | |
[> player inventory | ] -> [ | player inventory] | |
(at the end of turn, switch "hit" block with inventory) | |
late [blockred hit][inventorywhite] -> [blockwhite no hit][inventoryred] | |
late [blockwhite hit][inventoryred] -> [blockred no hit][inventorywhite] | |
(TODO: Add rules about doors, add win conditions) | |
(win if win conditions are met) (WARNING: NO WIN CONDITIONS CREATED YET) | |
late [winning] -> win | |
(clear things at end of turn) | |
late [fired] -> [] | |
late [hit] -> [] | |
late [counter] -> [] | |
============== | |
WINCONDITIONS | |
============== | |
======= | |
LEVELS | |
======= | |
. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment