Created
October 11, 2018 19:57
-
-
Save JackLance/d320e4be5ae0f8415e4990c444a73470 to your computer and use it in GitHub Desktop.
Coping Mechanisms (PuzzleScript Script)
This file contains hidden or 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 hidden or 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 Coping Mechanisms | |
| author Jack Lance | |
| run_rules_on_level_start | |
| ======== | |
| OBJECTS | |
| ======== | |
| background | |
| white | |
| select | |
| transparent | |
| during | |
| darkbrown | |
| 00.00 | |
| 0...0 | |
| ..... | |
| 0...0 | |
| 00.00 | |
| destroy | |
| red | |
| 00.00 | |
| 0...0 | |
| ..... | |
| 0...0 | |
| 00.00 | |
| hinge | |
| grey | |
| 00.00 | |
| 0...0 | |
| ..... | |
| 0...0 | |
| 00.00 | |
| make | |
| blue | |
| 00.00 | |
| 0...0 | |
| ..... | |
| 0...0 | |
| 00.00 | |
| move | |
| purple | |
| 00.00 | |
| 0...0 | |
| ..... | |
| 0...0 | |
| 00.00 | |
| bad | |
| black | |
| ..... | |
| ..0.. | |
| ..0.. | |
| .000. | |
| .000. | |
| zone | |
| lightblue | |
| active | |
| yellow LIGHTBROWN orange brown | |
| .000. | |
| 01112 | |
| 01112 | |
| 01112 | |
| .222. | |
| ad | |
| yellow LIGHTBROWN orange brown | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| 01112 | |
| au | |
| yellow LIGHTBROWN orange brown | |
| 01112 | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| ar | |
| yellow LIGHTBROWN orange brown | |
| ....0 | |
| ....1 | |
| ....1 | |
| ....1 | |
| ....2 | |
| al | |
| yellow LIGHTBROWN orange brown | |
| 0.... | |
| 1.... | |
| 1.... | |
| 1.... | |
| 2.... | |
| blob | |
| LIGHTBROWN orange brown | |
| .000. | |
| 01112 | |
| 01112 | |
| 01112 | |
| .222. | |
| cd | |
| LIGHTBROWN orange brown | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| 01112 | |
| cu | |
| LIGHTBROWN orange brown | |
| 01112 | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| cr | |
| LIGHTBROWN orange brown | |
| ....0 | |
| ....1 | |
| ....1 | |
| ....1 | |
| ....2 | |
| cl | |
| LIGHTBROWN orange brown | |
| 0.... | |
| 1.... | |
| 1.... | |
| 1.... | |
| 2.... | |
| md | |
| green | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| 00000 | |
| mu | |
| green | |
| 00000 | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| mr | |
| green | |
| ....0 | |
| ....0 | |
| ....0 | |
| ....0 | |
| ....0 | |
| ml | |
| green | |
| 0.... | |
| 0.... | |
| 0.... | |
| 0.... | |
| 0.... | |
| hd | |
| darkgrey | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| .000. | |
| hu | |
| darkgrey | |
| .000. | |
| ..... | |
| ..... | |
| ..... | |
| ..... | |
| hr | |
| darkgrey | |
| ..... | |
| ....0 | |
| ....0 | |
| ....0 | |
| ..... | |
| hl | |
| darkgrey | |
| ..... | |
| 0.... | |
| 0.... | |
| 0.... | |
| ..... | |
| block x | |
| black | |
| unsupported | |
| transparent | |
| cant | |
| transparent | |
| goal g | |
| red | |
| ..0.. | |
| .0.0. | |
| 0...0 | |
| .0.0. | |
| ..0.. | |
| (checka | |
| transparent | |
| checkb | |
| transparent | |
| froma | |
| transparent | |
| fromb | |
| transparent) | |
| ======= | |
| LEGEND | |
| ======= | |
| . = Background | |
| player = select or make or move or during or hinge or destroy | |
| P = move | |
| 0 = blob | |
| 1 = blob and cd | |
| 2 = blob and hd | |
| 3 = blob and cr | |
| 4 = blob and cd and cr | |
| 5 = blob and hd and cr | |
| 6 = blob and hr | |
| 7 = blob and cd and hr | |
| 8 = blob and hd and hr | |
| xu = cu or hu | |
| xd = cd or hd | |
| xl = cl or hl | |
| xr = cr or hr | |
| cx = cu or cl or cd or cr | |
| hx = hu or hl or hd or hr | |
| mx = mu or ml or md or mr | |
| ax = au or al or ad or ar | |
| z = zone | |
| q = make | |
| - = bad | |
| ======= | |
| SOUNDS | |
| ======= | |
| ================ | |
| COLLISIONLAYERS | |
| ================ | |
| Background | |
| zone | |
| blob | |
| cd, | |
| cl, | |
| cr, | |
| cu, | |
| active | |
| al | |
| ar | |
| ad | |
| au | |
| hd, md | |
| hl, ml | |
| hr, mr | |
| hu, mu | |
| Player, block | |
| goal | |
| unsupported | |
| cant | |
| bad | |
| ====== | |
| RULES | |
| ====== | |
| [action make no zone][blob] -> [move][blob] | |
| [action make zone no blob] -> [during blob zone] | |
| [action make zone blob] -> [hinge zone blob] | |
| [> hinge | no zone no block] -> [ | make] | |
| [> during | no zone no block] -> [ | make] | |
| up [up hinge cu| ] -> [ cu |hinge ] | |
| down [down hinge cd| ] -> [ cd |hinge ] | |
| left [left hinge cl| ] -> [ cl |hinge ] | |
| right [right hinge cr| ] -> [ cr |hinge ] | |
| up [up hinge | blob] -> [ hu |make hd blob] | |
| down [down hinge | blob] -> [ hd |make hu blob] | |
| left [left hinge | blob] -> [ hl |make hr blob] | |
| right [right hinge | blob] -> [ hr |make hl blob] | |
| up [up hinge | no blob] -> [ hu |during hd blob] | |
| down [down hinge | no blob] -> [ hd |during hu blob] | |
| left [left hinge | no blob] -> [ hl |during hr blob] | |
| right [right hinge | no blob] -> [ hr |during hl blob] | |
| [action hinge] -> [destroy] | |
| [action destroy] -> [make] | |
| up [up during blob no cu| blob] -> [ blob hu| hd make blob] | |
| down [down during blob no cd| blob] -> [ blob hd| hu make blob] | |
| left [left during blob no cl| blob] -> [ blob hl| hr make blob] | |
| right [right during blob no cr| blob] -> [ blob hr| hl make blob] | |
| up [up during | no blob no block zone] -> [cu | cd blob during zone] | |
| down [down during | no blob no block zone] -> [cd | cu blob during zone] | |
| left [left during | no blob no block zone] -> [cl | cr blob during zone] | |
| right [right during | no blob no block zone] -> [cr | cl blob during zone] | |
| late [destroy blob] -> [destroy] | |
| late [destroy hx] -> [destroy] | |
| late [destroy cx] -> [destroy] | |
| late right [xr | destroy] -> [ | destroy] | |
| late left [xl | destroy] -> [ | destroy] | |
| late down [xd | destroy] -> [ | destroy] | |
| late up [xu | destroy] -> [ | destroy] | |
| late [during no zone] -> [make] | |
| [action during] -> [make] | |
| [action select blob] -> [move blob] | |
| [action move blob] -> [select blob] | |
| [select blob unsupported] -> [down select blob unsupported] | |
| [select][blob unsupported] -> [select ][down blob] | |
| up [hu | ] -> [hu | hd] | |
| down [hd | ] -> [hd | hu] | |
| left [hl | ] -> [hl | hr] | |
| right [hr | ] -> [hr | hl] | |
| up [cu | ] -> [cu | cd] | |
| down [cd | ] -> [cd | cu] | |
| left [cl | ] -> [cl | cr] | |
| right [cr | ] -> [cr | cl] | |
| [xu] -> [up xu] | |
| [xl] -> [left xl] | |
| [xr] -> [right xr] | |
| [xd] -> [down xd] | |
| [cant] -> [] | |
| up [up select][blob | block] -> [up select][blob cant | block] | |
| left [left select][blob | block] -> [left select][blob cant | block] | |
| down [down select][blob | block] -> [down select][blob cant | block] | |
| right [right select][blob | block] -> [right select][blob cant | block] | |
| startloop | |
| [ blob > cx | blob cant] -> [ blob > cx cant| blob cant] | |
| up [up select][blob | cant] -> [up select][blob cant | cant] | |
| left [left select][blob | cant] -> [left select][blob cant | cant] | |
| down [down select][blob | cant] -> [down select][blob cant | cant] | |
| right [right select][blob | cant] -> [right select][blob cant | cant] | |
| endloop | |
| [> select blob no cant] -> [> select > blob] | |
| [select cant] -> [stationary select cant] | |
| startloop | |
| [moving blob > cx | blob] -> [moving blob > cx| moving blob] | |
| [> blob > hu | blob] -> [> blob > mu | > blob] | |
| +[> blob > hl | blob] -> [> blob > ml | > blob] | |
| +[> blob > hd | blob] -> [> blob > md | > blob] | |
| +[> blob > hr | blob] -> [> blob > mr | > blob] | |
| [> blob | blob] -> [> blob | > blob] | |
| [< blob > hu | blob] -> [< blob > mu | < blob] | |
| [< blob > hl | blob] -> [< blob > ml | < blob] | |
| [< blob > hd | blob] -> [< blob > md | < blob] | |
| [< blob > hr | blob] -> [< blob > mr | < blob] | |
| [no cl right blob up hu] -> [right blob up mu] | |
| [no cl right blob down hd] -> [right blob down md] | |
| [no cr left blob up hu] -> [left blob up mu] | |
| [no cr left blob down hd] -> [left blob down md] | |
| [no cd up blob left hl] -> [up blob left ml] | |
| [no cd up blob right hr] -> [up blob right mr] | |
| [no cu down blob left hl] -> [down blob left ml] | |
| [no cu down blob right hr] -> [down blob right mr] | |
| [> mx | < hl] -> [> mx | < ml] | |
| [> mx | < hd] -> [> mx | < md] | |
| [> mx | < hr] -> [> mx | < mr] | |
| [> mx | < hu] -> [> mx | < mu] | |
| [right select][stationary blob mx no cr] -> [right select][right blob mx] | |
| [left select][stationary blob mx no cl] -> [left select][left blob mx] | |
| [down select][stationary blob mx no cd] -> [down select][down blob mx] | |
| [up select][stationary blob mx no cu] -> [up select][up blob mx] | |
| endloop | |
| [> blob | block] -> cancel | |
| [hx] -> [stationary hx] | |
| [moving select][md] -> [moving select][moving hd] | |
| [moving select][mu] -> [moving select][moving hu] | |
| [moving select][ml] -> [moving select][moving hl] | |
| [moving select][mr] -> [moving select][moving hr] | |
| [stationary select][md] -> [stationary select][down hd] | |
| [stationary select][mu] -> [stationary select][down hu] | |
| [stationary select][ml] -> [stationary select][down hl] | |
| [stationary select][mr] -> [stationary select][down hr] | |
| [cx] -> [stationary cx] | |
| [moving blob cx] -> [moving blob moving cx] | |
| late [blob] -> [blob unsupported] | |
| late down [blob unsupported|block] -> [blob | block] | |
| startloop | |
| late up [blob xu unsupported | no unsupported] -> [blob xu | ] | |
| late down [blob xd unsupported | no unsupported] -> [blob xd | ] | |
| late left [blob xl unsupported | no unsupported] -> [blob xl | ] | |
| late right [blob xr unsupported | no unsupported] -> [blob xr | ] | |
| late down [blob unsupported|blob no unsupported] -> [blob | blob] | |
| endloop | |
| late [blob unsupported] -> again | |
| late [ax] -> [] | |
| late [active] -> [] | |
| late [select blob] -> [select blob active] | |
| startloop | |
| late [active cl] -> [active cl al] | |
| late [active cr] -> [active cr ar] | |
| late [active cd] -> [active cd ad] | |
| late [active cu] -> [active cu au] | |
| late up [au | blob] -> [au | blob active] | |
| late down [ad | blob] -> [ad | blob active] | |
| late left [al | blob] -> [al | blob active] | |
| late right [ar | blob] -> [ar | blob active] | |
| endloop | |
| [blob bad] -> restart | |
| ============== | |
| WINCONDITIONS | |
| ============== | |
| all goal on blob | |
| no unsupported | |
| ======= | |
| LEVELS | |
| ======= | |
| message WARMUP 1/3 | |
| message Action to select the robot, and move it to the exit without hitting any spikes | |
| xxxxxxxxx | |
| x.......x | |
| x1..p...x | |
| x0......x | |
| xxxxx...x | |
| x.......x | |
| x.......x | |
| x.......x | |
| xx.xxx.xx | |
| x.......x | |
| x....g..x | |
| x.....--x | |
| xxxxxxxxx | |
| message WARMUP 2/3 | |
| message Select which component you would like to move, and action to deselect | |
| xxxxxxxxxxxxxx | |
| xp.1x........x | |
| x.71x........x | |
| x.10x........x | |
| x.0xx........x | |
| x..x.........x | |
| x..x..xxxxxx.x | |
| x..x........gx | |
| x..xx........x | |
| x...x........x | |
| x...xxx......x | |
| x.....xxx....x | |
| x............x | |
| x.........xxxx | |
| x.........xxxx | |
| xxxxxxxxxxxxxx | |
| message WARMUP 3/3 | |
| message In levels with multiple bots, you only need to get one to the exit | |
| xxxxxxxxxxxxxxx | |
| x.............x | |
| x...p.........x | |
| x...........g.x | |
| x.............x | |
| x.11...x......x | |
| x.2630.x......x | |
| x.30..1x......x | |
| xxx.360x....xxx | |
| xxxxxxxxxxxxxxx | |
| message LEVEL 1/4 | |
| message Draw your robot's design in the blue zone | |
| message Press action and move around to start drawing a component, and action again to finish | |
| message Press action on a component and move to draw a hinge | |
| message Lastly, press action OUTSIDE THE BLUE ZONE TO PLAY with your designed robot | |
| message You can also press action in hinge mode to go to erase mode; basically, whatever you want to do, press action a bunch and you'll probably get to it. (It'll be easier once you get used to it.) | |
| xxxxxxxxxxx | |
| x.........x | |
| x...q...g.x | |
| x.........x | |
| xzzzz.....x | |
| xzzzz.....x | |
| xzzzz.....x | |
| xzzzz.....x | |
| xxxxxxxxxxx | |
| message LEVEL 2/4 | |
| xxxxxxxxxxxxx | |
| x.....zzzzzzx | |
| x...q.zzzzzzx | |
| x.....zzzzzzx | |
| x.....zzzzzzx | |
| x.....xxxxxxx | |
| x..........gx | |
| x...........x | |
| x...........x | |
| x...........x | |
| x...........x | |
| x------.....x | |
| xxxxxxxxxxxxx | |
| (xxxxxxxxxxxxxxx | |
| xxxxxxxxxx....x | |
| xxxxxxxxxx..x.x | |
| xxxxxxxxxx..x.x | |
| xxxxxxxxxx..x.x | |
| xzzzzz.q....x.x | |
| xzzzzz......x.x | |
| xzzzzz......x.x | |
| xzzzzz......x.x | |
| xzzzzz------xgx | |
| xxxxxxxxxxxxxxx) | |
| message LEVEL 3/4 | |
| xxxxxxxxxx | |
| x..zzzzzzx | |
| x..zzzzzzx | |
| x..zzzzzzx | |
| xq.zzzzzzx | |
| x..zzzzzzx | |
| x..xxxxxxx | |
| x..xx....x | |
| x..xx..x.x | |
| x..xx..x.x | |
| x..xx..x.x | |
| x......x.x | |
| x......x.x | |
| x......xgx | |
| xxxxxxxxxx | |
| message LEVEL 4/4 | |
| xxxxxxxxx | |
| xzzzzz..x | |
| xzzzzz..x | |
| xzzzzzq.x | |
| xzzzzz..x | |
| xzzzzz..x | |
| xxxxxx..x | |
| x.......x | |
| xxxxxx..x | |
| x.......x | |
| xxxxxx..x | |
| x.......x | |
| xxxxxx..x | |
| x.......x | |
| xxxxxx..x | |
| x.......x | |
| xxxxxx..x | |
| x.......x | |
| xxxxxx..x | |
| x....g..x | |
| xxxxxx--x | |
| (xxxxxxxxxxxxxx | |
| xzzzzzzzxxxxxx | |
| xzzzzzzzxxxxxx | |
| xzzzzzzzxxxxxx | |
| xzzzzzzzxxxxxx | |
| xzzzzzzz....xx | |
| xzzzzzzzq...xx | |
| xxxxxxxxx...xx | |
| xxxxxxxxx...xx | |
| xxxxxxxxx...xx | |
| xxxxxxxxx...xx | |
| xxxxxxxxx...xx | |
| xxxxxxxxx...xx | |
| xxxxxxxxx....x | |
| xxxxxxxxx...gx | |
| xxxxxxxxx---xx | |
| xxxxxxxxxxxxxx) | |
| ( | |
| xxxxxxxxxxxxxxxxxxxxxxx | |
| x..q..zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzx..........x | |
| x.....zzzzzxg.........x | |
| x.....xxxxxxxxxxx.....x | |
| x.....................x | |
| x.....................x | |
| x.....................x | |
| x---------------------x) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment