The controller allows the solver to do its thing by providing the PuzzleController api. Originally I had implemented solvers without trying to do concurrency, and those less generic forms still exist, but do not require the PuzzleController api. The generic solvers (sequential and concurrent) expect the PieceList to represent the state of a board, and the Piece to represent a move. The way a move is applied is simply to add the piece to the end of the current list. Created on August 11, 2007
@author Barry Becker
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.