package rabbitescape.engine.solution;
import rabbitescape.engine.World;
import rabbitescape.engine.solution.Solution;
import rabbitescape.engine.solution.SolutionParser;
import rabbitescape.engine.util.MegaCoder;
public class SolutionDemo
{
public final String solnChars =
"[0-9a-z\\(\\);,&]*";
public final Solution solution;
/**
* @param path The path of the .rel file.
* @param solutionString A string which may contain the solution
* commamnds or the number of the solution
* in the .rel file.
* @param genTest If true the output is in a format useful
* for copying into Java unit test source.
*/
public SolutionDemo( String solutionCommandLine, World world )
{
String solutionString;
try
{
int solutionNumber = Integer.parseInt( solutionCommandLine ) - 1;
solutionString = world.solutions[solutionNumber];
}
catch ( NumberFormatException e )
{
solutionString = solutionCommandLine;
if ( !solutionString.matches( solnChars ) )
{
solutionString = MegaCoder.decode( solutionString );
}
}
this.solution = SolutionParser.parse( solutionString );
}
}