|
NAMEGames::LMSolve - base class for LM-Solve solvers factoriesSYNOPSISpackage 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(); DESCRIPTIONThis 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. METHODSnewThe constructor. Accepts the following named arguments:
$registry->set_default_variant($variant)Sets the default variant to $variant.$self->register_solvers(\%solvers)Adds the %solvers map of names to class names to the registry.$self->register_all_solvers()To be sub-classes to register all the solvers that the registry wants to register. Does nothing here.$self->main()the main function that handles the command line arguments and runs the program.SEE ALSOGames::LMSolve::Base<http://www.shlomifish.org/lm-solve/> - the LM-Solve homepage. BUGSPlease report any bugs or feature requests to "bug-games-lmsolve at rt.cpan.org", or through the web interface at <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Games-LMSolve>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.SUPPORTYou can find documentation for this module with the perldoc command.perldoc Games::LMSolve You can also look for information at:
AUTHORSShlomi Fish, <http://www.shlomifish.org/>COPYRIGHT & LICENSECopyright 2002 Shlomi Fish, all rights reserved.This program is released under the following license: MIT X11.
Visit the GSP FreeBSD Man Page Interface. |