bool Fortyeight::checkAdd(int, const Pile *c1, const CardList &c2) const { if (c1->isEmpty()) return true; // ok if in sequence, same suit return (c1->top()->suit() == c2.first()->suit()) && (c1->top()->rank() == (c2.first()->rank()+1)); }
bool Clock::checkAdd( int ci, const Pile *c1, const CardList& c2) const { Card *newone = c2.first(); if (ci == 0) { if (c1->isEmpty()) return true; return (newone->rank() == c1->top()->rank() - 1); } else { if (c1->top()->suit() != newone->suit()) return false; if (c1->top()->rank() == Card::King) return (newone->rank() == Card::Ace); return (newone->rank() == c1->top()->rank() + 1); } }