I think this works for the ship, but I'm not quite sure how to do the Snake
def G fn (checkride #0 #1 0 1 and empty #0)
where #0 1 1
#1
or fn (checkride #0 #1 0 1 and empty #0)
where #0 -1 1
#1
or fn (checkride #0 #1 0 -1 and empty #0)
where #0 1 -1
#1
or fn (checkride #0 #1 0 -1 and empty #0)
where #0 -1 -1
#1
or checkleap #0 #1 1 1;
def GL mergeall
leaps #0 1 1
ray where #0 1 1 0 1
ray where #0 1 -1 0 -1
ray where #0 -1 1 0 1
ray where #0 -1 -1 0 -1;
I think this works for the ship, but I'm not quite sure how to do the Snake