pile getAllUnseenCards(state s, playerNum p) { pile unseenCards = s.deckWithIndex & DECK; unseenCards = addCards(unseenCards, getPHand(s, 1-p)); unseenCards = removeCards(unseenCards, getPRevCards(s, 1-p)); return unseenCards; }
void HelloWorld::startGame(){ pointArr->removeAllObjects(); removeAllChildren(); cardArr->removeAllObjects(); currentNum=1; genAllPoint(); addCards(); }
/** * Returns the last card of the deck, if this deck is empty * the Deck is refilled by the underlying cards of the given deck, * shuffled and then the last card is returned. * @brief Returns the last card of the deck. * @param dropped_cards * @return */ Card Deck::getLast(Deck& cardDepot) { if (empty()) { if (cardDepot.empty()) { throw std::invalid_argument("cardDepot contains too few cards"); } else { addCards(cardDepot.getUnderlyingCards()); } } Card returned_card = cards.back(); cards.pop_back(); return returned_card; }
state setNewDeckOrder(state s, playerNum p, unsigned int *posIndexes) { pile unseenCards = getAllUnseenCards(s, p); pile oppNewHand = getPRevCards(s, 1-p); unsigned int numUnseenCards = numCardsLeft(unseenCards); unsigned int numUnseenOppCards = numCardsLeft(getPHand(s, 1-p)) - numCardsLeft(oppNewHand); for(unsigned int i=0; i < numUnseenOppCards; i++) { card c = getNthCard(unseenCards, posIndexes[i]); oppNewHand = addCards(oppNewHand, c); } pile newDeck = 0; unsigned int deckCurrIndex = s.deckWithIndex >> 28; for(unsigned int i=numUnseenOppCards; i < numUnseenCards; i++, deckCurrIndex++) { card c = getNthCard(unseenCards, posIndexes[i]); newDeck = addCards(newDeck, c); s.deckOrder[deckCurrIndex] = c; } s.deckWithIndex = newDeck + (s.deckWithIndex & (((unsigned long long) 0xf) << 28)); s = setPHand(s, 1-p, oppNewHand); return s; }
moveGroup addTrumpSwapMoves_CLOSE(state s, pile hand, moveGroup mg) { card trumpCard = getTrumpCard(s); rank marrPartner = getMarriagePartner(trumpCard); if(isKingOrQueen(trumpCard) && contains(hand, marrPartner)) { card trumpMask = getCardSuitMask(getTrumpCard(s)); pile suitQueenKing = trumpCard | marrPartner; mg.groups[6] |= suitQueenKing & trumpMask; mg.groups[7] |= suitQueenKing & (~trumpMask); } card trumpJack = getTrumpJack(trumpCard); hand = removeCard(hand, trumpJack); hand = addCards(hand, trumpCard); mg.groups[6] |= mg.groups[9]; mg.groups[7] |= mg.groups[10]; mg.groups[8] |= hand; return mg; }
CardsDB::CardsDB() { addCards(bttv_cards, BTTV); }
bool Package::init() { addGenerals(); addCards(); return true; }