Пример #1
0
bool CaseButG::ajouterCarte(CarteG *carte)
{
	bool estAs = false;
	if (carte == NULL)
		return false;
	int famCarte = carte->getFamille();
	int valCarte = carte->getValeur();
	if (nombre() == 0) {
		if (valCarte != 0) {
			return false;
        }
		else {
			estAs = true;
        }
    }
	if (!estAs) {
		int famTas = getCarte(0) -> getFamille();
		int valTas = getCarte(0) -> getValeur();
		if (famCarte != famTas)
			return false;
		if (valCarte != valTas + 1)
			return false;
	}
	bool reussi = LieuG::ajouterCarte(carte);
	if (reussi) {
		carte->setDeplacable(true);
		carte->setCache(false);
	}
	return reussi;
}
Пример #2
0
void Modele::redimensionner(int x, int y) {
    edt::Repere* r = static_cast<edt::Repere*> (getCarte()->getRepere());
    r->redimensionner(x, y);

    for (it = vues.begin(); it != vues.end(); it++)
        ((Vue*)(*it))->initScrolls(x, y);
}
Пример #3
0
Carte* Joueur::pullCarte(unsigned int i){
    Carte *ret = getCarte(i);
    if(!ret->isDefault()){
        jeu[i]->setPlayed(true);
        jeu[i] = jeu[0];
        jeu.erase(jeu.begin());
    }
    return ret;
}
Пример #4
0
CarteG *ReceveurDonneG::retirerCarte()
{
	CarteG *retour = NULL;
	if (nombre()!=0)
		retour = LieuG::retirerCarte();
	if (nombre()!=0)
		getCarte(0)->setDeplacable(true);
	return retour;
}
Пример #5
0
bool CaseButG::posAjouterCarte(CarteG *carte)
{
	if (carte == NULL)
		return false;
	int famCarte = carte->getFamille();
	int valCarte = carte->getValeur();
	if (nombre() == 0 && valCarte == 0)
		return Cartes::posAjouterCarte(carte);
	if (nombre() == 0)
		return false;
	int famTas = getCarte(0) -> getFamille();
	int valTas = getCarte(0) -> getValeur();
	if (famCarte != famTas)
		return false;
	if (valCarte != valTas + 1)
		return false;
	return true;
}
Пример #6
0
Carte* IA::jouerCarte(Carte** tas, Enchere ench){
    priorite(tas, ench.getCouleur());
    srand(time(NULL));
    while(1){
        int alea = rand()%getCarteNombre();
        int valid = chercherCarte(getCarte(alea)->getNom(), tas, ench.getCouleur());
        if (valid != -1){
            return pullCarte(valid);
        }
    }
}
Пример #7
0
bool ReceveurDonneG::ajouterCartes(Cartes &tas)
{
	bool reussi = Cartes::ajouterCartes(tas);
	if (reussi)
	{
		for (int i=nombre()-1; i>=tas.nombre(); i--)
		{
			getCarte(i)->setPos(0, 0);
			getCarte(i)->setDeplacable(false);
		}
		for (int i=0; i<tas.nombre(); i++)
		{
			tas.getCarte(i)->setParentItem(this);
			tas.getCarte(i)->setPos((nombre()-i)/15*2, 0);
			tas.getCarte(i)->setZValue(nombre()+i+1);
			tas.getCarte(i)->setCache(false);
			tas.getCarte(i)->setDeplacable(i==0);
		}
	}
	return reussi;
}
Пример #8
0
bool ReceveurDonneG::ajouterCarte(CarteG *carte, int pos)
{
	bool reussi = LieuG::ajouterCarte(carte);
	if (reussi)
	{
		carte->setParentItem(this);
		carte->setPos(pos*15, 0);
		carte->setZValue(nombre()+1);
		carte->setDeplacable(true);
		carte->setCache(false);
		if (nombre()!=1)
		{
			for (int i=1; i<nombre(); i++)
			{
				getCarte(i)->setDeplacable(false);
				if (pos==0)
					getCarte(i)->setPos(0, 0);
			}
		}
	}
	return reussi;
}
Пример #9
0
DonneG::DonneG(const Cartes &autre, QPixmap dessin) : LieuG(autre, dessin)
{
	for (int i=0; i<nombre(); i++)
		getCarte(i)->setPos((nombre()-i)/15*2, 0);
}