Mod3Solver::Mod3Solver(const Mod3 *dealer) : Solver() { // 24 targets, 8 playing fields, deck, aces setNumberPiles( 34 ); deal = dealer; }
KlondikeSolver::KlondikeSolver(const Klondike *dealer, int draw) : Solver(), m_draw( draw ) { Osuit[0] = PS_DIAMOND; Osuit[1] = PS_CLUB; Osuit[2] = PS_HEART; Osuit[3] = PS_SPADE; setNumberPiles( 9 ); deal = dealer; }
YukonSolver::YukonSolver(const Yukon *dealer) : Solver() { Osuit[0] = PS_DIAMOND; Osuit[1] = PS_CLUB; Osuit[2] = PS_HEART; Osuit[3] = PS_SPADE; setNumberPiles( 7 ); deal = dealer; }
FreecellSolver::FreecellSolver(const Freecell *dealer) : Solver() { Osuit[0] = PS_DIAMOND; Osuit[1] = PS_CLUB; Osuit[2] = PS_HEART; Osuit[3] = PS_SPADE; Nwpiles = 8; Ntpiles = 4; setNumberPiles( Nwpiles + Ntpiles ); deal = dealer; }
GypsySolver::GypsySolver(const Gypsy *dealer) : Solver() { setNumberPiles( 8 + 1 + 8 ); deal = dealer; char buffer[10]; params[0] = 3; params[1] = 3; params[2] = 44; params[3] = 19; params[4] = 5; params[5] = 10; for ( int i = 1; i <= 6; ++i ) { sprintf( buffer, "DECK%d", i ); const QByteArray env = qgetenv( buffer ); if ( !env.isEmpty() ) params[i-1] = env.toInt(); } }
SimonSolver::SimonSolver(const Simon *dealer) : Solver() { setNumberPiles( 10 ); deal = dealer; }
IdiotSolver::IdiotSolver(const Idiot *dealer) : Solver() { setNumberPiles( 6 ); deal = dealer; }
GolfSolver::GolfSolver(const Golf *dealer) : Solver() { setNumberPiles( 9 ); deal = dealer; }