LetterString Bag::refill(Rack &rack, const LetterString &drawingOrder) { LetterString ret(drawingOrder); for (int number = QUACKLE_PARAMETERS->rackSize() - rack.tiles().length(); number > 0 && !m_tiles.empty(); --number) { if (drawingOrder.empty()) rack.setTiles(String::alphabetize(rack.tiles() + pluck())); else { removeLetter(String::back(ret)); rack.setTiles(String::alphabetize(rack.tiles() + String::back(ret))); String::pop_back(ret); } } return ret; }
void Bag::refill(Rack &rack) { for (int number = QUACKLE_PARAMETERS->rackSize() - rack.tiles().length(); number > 0 && !m_tiles.empty(); --number) rack.setTiles(String::alphabetize(rack.tiles() + pluck())); }
const Rack operator-(const Rack &rack1, const Rack &rack2) { Rack ret(rack1); ret.unload(rack2.tiles()); return ret; }