/*

	cardpile.cpp

	V?.?? - ??????  Kimmo Teräväinen

        look cardpile.h

*/

#include "cardpile.h"

cIMGCard *cCardPile::Deal() {
  cIMGCard *card;
  if(!n) return NULL;
  card=cards[--n];
  return card;
}


cIMGCard *cCardPile::Remove(int pos) {
  cIMGCard *card;
  if(pos>=n || pos<0) return NULL;;
  card=cards[pos];
  cards[pos]=cards[--n];
  return card;
}


void cCardPile::Insert(cIMGCard *card)
{
  if(card) {
    insert(card);
    card->CanTurn(FALSE);
    card->Turn_CoverDown();
    card->MoveTo(pos);
    if(n>0) {
      card->Hide();
      cards[0]->Show();
    }
  }
}


void cCardPile::Insert(cCardPile &pile) {
  cIMGCard *card;
  while((card=pile.Deal())!=NULL) Insert(card);
}
