Skip to content

daniel-dara/stormy-seas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

stormyseas

About the package

stormyseas is a Python package for solving challenges for the puzzle game Stormy Seas (also known as Wave Breaker). It currently requires Python 3.7 or later.

About the game

Stormy Seas is a puzzle game released in 1997 by Binary Arts. Binary Arts was later renamed to ThinkFun and the game was re-released as Wave Breaker. The game follows similar mechanics to its more famous precursor, Rush Hour.

Gameplay

Stormy Seas is played by sliding boats and waves around the game board to get the red boat into port (a special space at the bottom of the board).

The game is started by selecting a challenge card and arranging the game pieces as stated on the card. The pieces are then moved around the board by sliding them in various directions. Pieces will block each other so careful planning is required to create a path for the red boat to reach the port.

A PDF of instructions for the re-released Wave Breaker can be found here.

Examples

View the files in the examples directory to see examples of how to specify puzzle input and use the Puzzle class to solve a problem.

Puzzle Cards

Below are a few cards from the actual game to help visualize puzzle input.

Puzzle Input

The Puzzle class can be initialized with an input string of the puzzle state. Here is one example.

--#-#X###
#-###x#--
--#H##-##
#-#H###--
#-#H###--
#-###-#--
##-##-#--
--###-###

Note the following formatting rules:

  • Waves are represented as rows of characters with dashes - for gaps and hashes # for blocks
  • Waves are separated by a single new line \n
  • Boats are represented by uppercase alphabetical characters A-Z and replace gaps - in the waves they occupy
    • The red boat, for which the puzzle is being solved, must specifically use the uppercase character X for the rear and the lowercase character x for the front of the ship.

Todo

  • Test Rotation.transform
  • Attempt to find the shortest solution in steps (merged moves)

Ideas

  • Add animation for puzzle solution
  • Add GUI for navigating solution
  • GUI for entire puzzle

About

A solver for the puzzle game Stormy Seas

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages