Skip to content

Instantly share code, notes, and snippets.

@bvoq
Created July 15, 2021 17:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bvoq/90e8e26bfee1f943aaa993edac2d774d to your computer and use it in GitHub Desktop.
Save bvoq/90e8e26bfee1f943aaa993edac2d774d to your computer and use it in GitHub Desktop.
Winding sailor (PuzzleScript Script)
Play this game by pasting the script in http://www.puzzlescript.net/editor.html
title Winding sailor
author bvoq
homepage dekeyser.ch
background_color #255474
text_color #caa786
norepeat_action
run_rules_on_level_start
========
OBJECTS
========
buoy b
#ac3232 #847e87
.....
..10.
..1..
..0..
.000.
Background
#5fcde4 #48bbd3
00000
00100
01010
10001
00000
land
#37946e #25855e
00000
01000
00000
00010
00000
pontoon1 t
#8d614c #9e7650
00000
10101
10101
00000
.0.0.
pontoon2 y
#8d614c #9e7650
00000
01010
01010
00000
.0.0.
pontoon3 u
#8d614c #9e7650
00000
01110
00000
01110
00000
pontoon4 i
#8d614c #9e7650
01110
00000
01110
00000
01110
pontoon5 o
#8d614c #9e7650
01110
00000
01110
00000
0...0
mountain1
#16724c
....0
...00
..000
.0000
00.0.
mountain2
#16724c
00000
00000
00000
00000
0.0.0
mountain3
#16724c
0....
00...
000..
0000.
.0.00
mountain4
#16724c
.....
.....
..0..
.000.
00000
tree
#37946e #8d614c #16724c
00000
00200
02220
00100
00000
mountain_blue1
#306082
00000
00000
00000
00000
.....
mountain_blue2
#306082 #9badb7
....1
...11
..110
.0000
00000
mountain_blue3
#306082 #9badb7
1....
11...
101..
0000.
00000
rock
#255474 #306082 #3f7296 #4e7ea1
..13.
.0112
00121
01102
.000.
coast_n
#37946e #25855e #caa786
22222
.222.
.....
.....
.....
coast_ne
#37946e #25855e #caa786 #5fcde4
22223
.2222
...22
...22
....2
coast_e
#37946e #25855e #caa786
....2
...22
...22
...22
....2
coast_se
#37946e #25855e #caa786 #5fcde4
....2
....2
...22
.2222
22223
coast_s
#37946e #25855e #caa786
.....
.....
.....
.222.
22222
coast_sw
#37946e #25855e #caa786 #5fcde4
2....
22...
22...
2222.
32222
coast_w
#37946e #25855e #caa786
2....
22...
22...
22...
2....
coast_nw
#37946e #25855e #caa786 #5fcde4
32222
2222.
22...
22...
2....
house1
#caa786 #8d614c #9e7650
..000
..000
11111
00000
00020
house2
#caa786 #8d614c #9e7650
.....
.....
.....
...1.
..111
house3
#caa786 #8d614c #9e7650
.....
11111
12121
00000
00000
house4
#caa786 #8d614c #9e7650
.....
..1..
.111.
.000.
.020.
movementR
green
.00..
..00.
...00
..00.
.00..
movementL
green
..00.
.00..
00...
.00..
..00.
movementU
green
..0..
.000.
00.00
0...0
.....
movementD
green
.....
0...0
00.00
.000.
..0..
Plus
green white
00100
00100
11111
00100
00100
Minus
red white
00000
00000
11111
00000
00000
templatePlus
green white
00100
00100
11111
00100
00100
templateMinus
red white
00000
00000
11111
00000
00000
goalPlus
green white
00100
00100
11111
00100
00100
goalMinus
red white
00000
00000
11111
00000
00000
goalGold
yellow white
00100
01010
10001
01010
00100
PlayerR
black red
..1..
..11.
11111
..11.
..1..
PlayerL
black red
..1..
.11..
11111
.11..
..1..
PlayerU
black red
..1..
.111.
11111
..1..
..1..
PlayerD
black red
..1..
..1..
11111
.111.
..1..
border
black
00000
00000
00000
00000
00000
=======
LEGEND
=======
house = house1 or house2 or house3 or house4
coast = coast_n or coast_ne or coast_e or coast_se or coast_s or coast_sw or coast_w or coast_nw
mountain = mountain1 or mountain2 or mountain3 or mountain4
mountain_blue = mountain_blue1 or mountain_blue2 or mountain_blue3
pontoon = pontoon1 or pontoon2 or pontoon3 or pontoon4 or pontoon5
obstacle = land or rock or pontoon or border
Player = PlayerL or PlayerR or PlayerU or PlayerD
Movement = MovementL or MovementR or MovementD or MovementU or Plus or Minus
Goal = goalPlus or goalMinus or goalGold
Template = templatePlus or templateMinus
. = Background
P = PlayerR
# = border
w = land and coast_n
e = land and coast_ne
d = land and coast_e
c = land and coast_se
x = land and coast_s
z = land and coast_sw
a = land and coast_w
q = land and coast_nw
s = land
f = house1 and land
g = house2 and land
h = house3 and land
j = house4 and land
v = mountain1 and land
, = mountain2 and land
n = mountain3 and land
m = mountain4 and land
l = mountain_blue1 and land and mountain1
; = mountain_blue1 and land and mountain3
' = mountain_blue2 and land
ä = mountain_blue3 and land
ö = tree and land
r = rock
+ = goalPlus
- = goalMinus
0 = rock and playerr
=======
SOUNDS
=======
sfx0 81723507 (tight)
sfx1 59518507 (tighten sail)
sfx2 40408107
sfx4 6725507(loose )
sfx7 72434302 (boat crash)
sfx5 94572100 (pick up buoy)
sfx6 23834907(rudder change)
startlevel 51979900
endgame 68419109
================
COLLISIONLAYERS
================
Background
land, rock, pontoon
mountain_blue, tree
coast, house,mountain, buoy, templatePlus, templateMinus
movementu, movementr, movementl, movementd, plus, minus
Player, border, goalPlus, goalMinus, goalGold
======
RULES
======
(start of autotiling code- comment out for release version)
( up [ land no coast | no land ] -> [ land coast_n |] )
( down [ land no coast | no land ] -> [ land coast_s |] )
( right [ land no coast | no land ] -> [ land coast_e |] )
( left [ land no coast | no land ] -> [ land coast_w |] )
( right [coast_n | no land] -> [ coast_ne |] sfx6 )
( left [coast_n | no land] -> [ coast_nw | ] sfx6 )
( right [coast_s | no land] -> [ coast_se |] )
( left [coast_s | no land] -> [ coast_sw | ] )
(end of autotiling code- comment out for release version)
( [ moving player ]-> again )
[goalGold] -> cancel
right [> Player | movementD | no Movement no obstacle ] -> [movementR | Plus templatePlus | PlayerR] sfx1
right [> Player | movementU | no Movement no obstacle ] -> [movementR | Minus templateMinus | PlayerR] sfx0
left [> Player | movementD | no Movement no obstacle ] -> [movementL | Minus templateMinus | PlayerL] sfx0
left [> Player | movementU | no Movement no obstacle ] -> [movementL | Plus templatePlus | PlayerL] sfx1
up [> Player | movementR | no Movement no obstacle] -> [movementU | Plus templatePlus | PlayerU] sfx1
up [> Player | movementL | no Movement no obstacle] -> [movementU | Minus templateMinus | PlayerU] sfx0
down [> Player | movementR | no Movement no obstacle] -> [movementD | Minus templateMinus | PlayerD] sfx0
down [> Player | movementL | no Movement no obstacle] -> [movementD | Plus templatePlus | PlayerD] sfx1
right [> Player | no Movement no obstacle] -> [movementR | PlayerR] sfx2
left [> Player | no Movement no obstacle] -> [movementL | PlayerL] sfx2
up [> Player | no Movement no obstacle] -> [movementU | PlayerU] sfx2
down [> Player | no Movement no obstacle] -> [movementD | PlayerD] sfx2
[> Player] -> cancel
right [templatePlus] [border | goalPlus] -> [ ] [border | ]
right [templateMinus] [border | goalMinus] -> [ ] [border | ]
[templatePlus] [Goal] -> [templatePlus][goalGold] sfx3
[templateMinus][Goal] -> [templateMinus][goalGold] sfx3
[templatePlus] -> []
[templateMinus] -> []
right [ no border no goal | goalPlus] -> [goalPlus | ]
+ right [ no border no goal | goalMinus] -> [goalMinus | ]
([goalGold] -> cancel)
==============
WINCONDITIONS
==============
no Goal
=======
LEVELS
=======
message level 1 - warmup
(not too difficult but nice)
P.................
..................
..................
..................
..................
..................
..................
..................
..................
##################
#+-+-+-+-+---+-+.#
message level 2 - optimist
P....
.....
.....
.....
#####
#+++#
message level 3 - warmup, but more claustrophobic
(not too difficult but nice)
P.................
..................
..................
..................
..................
..................
##################
#+-+-+-+-+---+-+.#
x(need to use your brain for this one)
message level 4 - stay positive
P.................
..................
..................
..................
..................
..................
##################
#++++++++++++++++#
message level 5 - huh
.p...
.....
.....
#####
#+-+-
(???)
(need to use your brain for this one)
message level 6 - warmup, but even more claustrophobic
P.................
..................
..................
..................
##################
#+-+-+-+-+---+-+.#
message level 7 - 4x4 fun
....rr
....rr
....rr
..p.rr
######
#-++-#
message level 7 - beep boop beep
P....
.....
...r.
.....
#####
#-+-#
message level 8 - boop beep boop
P....
.....
...r.
.....
#####
#+-+#
message level 9 - argghhh symmetry
.....
.....
.....
pr...
#####
#+--+
message level 10 - tricky initial conditions
......
......
....P.
......
######
#+---#
message level 11 - tricky everything
P......
.......
.......
.......
#######
#+---+#
message level 12 - let's get trickier
P......
.......
.......
.......
#######
#+--++#
message Congratulations: You're the windiest winder in town!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment