Games::LMSolve - base class for LM-Solve solvers factories
package MyReg; use Games::LMSolve; @ISA = qw(Games::LMSolve); use MyPuzzle::Solver; sub register_all_solvers { my $self = shift; $self->register_solvers({ 'mypuzzle' => "MyPuzzle::Solver"}); $self->set_default_variant("mypuzzle"); return 0; } package main; my $r = MyReg->new(); $r->main();
This class is a registry of Games::LMSolve::Base-derived solvers. It maps variants IDs to the classes. To use it, sub-class it and over-ride the register_all_solvers() function. In it use register_solvers while passing a reference to a hash that contains the variant IDs as keys and the class names, or constructor functions as values.
You can also use set_default_variant() to set the default variant.
After all that, in your main script initialize a registry object, and call the main() method.
Games::LMSolve::Base
Shlomi Fish <shlomif@vipe.technion.ac.il>
To install Games::LMSolve, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Games::LMSolve
CPAN shell
perl -MCPAN -e shell install Games::LMSolve
For more information on module installation, please visit the detailed CPAN module installation guide.