当前位置: 首页>>代码示例>>C++>>正文


C++ Plateau类代码示例

本文整理汇总了C++中Plateau的典型用法代码示例。如果您正苦于以下问题:C++ Plateau类的具体用法?C++ Plateau怎么用?C++ Plateau使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Plateau类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: deroulerAlgo

Case AlgoRegle::deroulerAlgo (Case caseClic)
{
	// On récupère la case cliquée
	caseCliquee = caseClic;

	// On récupère le tableau de cases
	Plateau* plateau = ((CJeuDeDamesApp *)AfxGetApp( ))->getPlateau();
	int nbCases = ((CJeuDeDamesApp *)AfxGetApp( ))->getTaillePlateau();

	for(int i = 0; i < nbCases; i++) {
		for(int j = 0; j < nbCases; j++)
		{
			tableauDeCases[i][j] = plateau->getCaseDuTableau(i,j);
		} 
	}

	// On récupère le joueur en cours
	int joueurEnCours = ((CJeuDeDamesApp *)AfxGetApp( ))->getJoueurEnCours();

	// On applique l'algo spécifique au joueur
	if (joueurEnCours == 1) AlgoADeroulerJoueurBlanc(nbCases);
	if (joueurEnCours == 2) AlgoADeroulerJoueurRouge(nbCases);

	// On met à jour le plateau
	for(int i = 0; i < nbCases; i++) {
		for(int j = 0; j < nbCases; j++)
		{
			plateau->setCaseDuTableau(i, j, tableauDeCases[i][j].getEtat());
		}
	}

	return caseMemo;
}
开发者ID:lpouilly,项目名称:Jeu-de-Dames,代码行数:33,代码来源:AlgoRegle.cpp

示例2: testMortJoueur

void testMortJoueur()
{
    Partie partie("Partie 1", 2, 2);
    Joueur *j1 = NULL, *j2 = NULL;
    Plateau *pl = NULL;
    Action *action = new Action();
    Sort *sort = NULL;
    vector<string> listeSort;
    listeSort.push_back("Boule de Feu");
    listeSort.push_back("Sceau de Controle");
    partie.initialiser();
    j1 =  partie.ajouterJoueur("Tarte", "pika", listeSort);
    j2 =  partie.ajouterJoueur("Platon", "Sala", listeSort);
    partie.demarrerPartie();
    pl = partie.getPlateau();
    sort = UsineSort::fabriqueSort("Boule de Feu");
    sort->setProprietaire(j2);
    action->setOrigine(NULL);
    action->setSort(sort);
    action->ajouterCible(pl->getCase(0,0));
    j2->diminuerMana(j2->getManaActuel());
    assert(j2->getManaActuel() == 0);
    partie.effectuerAction(action, j2);
    assert(j2->estMort() == true);
    assert(j2->getManaMaximum() == 0);
    assert(pl->getCase(0,0)->getDefenseActuelle() == pl->getCase(0,0)->getDefenseInitiale());
    delete action;
    delete sort;
}
开发者ID:azazel7,项目名称:Jinn,代码行数:29,代码来源:testPartie.cpp

示例3: affichage

void Puissance4::newPartie (){
  Plateau *p = Partie::getPartie()->getPlateau();
  Joueur *j = Partie::getPartie()->getJoueurs();
  int choix_pos = 0;
    int i=0;
  j->next();
  do{
    j->next();
    cout << "Joueur "<< j->getCourrant()<< endl;
    affichage();
    do{
      i = 0;
      cout << "choisissez une position : " << endl;
      cin >> choix_pos;
      for(;i < nbLignes && not p->hasPion(i, choix_pos); i++){}
    }while(choix_pos < 0 || 
	   choix_pos > nbLignes || 
	   (i == 0 && p->hasPion(choix_pos, i)));
    i = (i==0)? 0 : i-1;
    if(j->getCourrant() == 0){
      p->mettrePionDansCase(pO, i, choix_pos);
    } else {
      p->mettrePionDansCase(pX, i, choix_pos);
    }
  }while(not hasP4(i, choix_pos));
  affichage();
  cout << "Le joueur " << j->getCourrant() << "a gagné "<<  endl; 
  
}
开发者ID:tsalmon,项目名称:LOA,代码行数:29,代码来源:Puissance4.cpp

示例4: testParachutage

int testParachutage(Pion& pion, int x_fin, int y_fin, int joueur_actif, Plateau plateau)
{
	if(joueur_actif==1)
	{
		if(y_fin==0)//pas de parachutage en derniere ligne
			return -1;
		if((pion.getNom()==Cavalier)&&(y_fin<=1))//pas de cavalier sur les deux dernières lignes
			return -1;
	}	
	if(joueur_actif==2) //idem pour joueur 2
	{
		if(y_fin==8)
			return -1;
		if((pion.getNom()==Cavalier)&&(y_fin>=7))
			return -1;
	}
	
	if(pion.getNom()==Soldat) //vérification qu'il n'y a pas deux soldats non promus dans la même colonne
	{
		for(int i = 0; i<9;i++)
		{
			if((plateau.getPion(x_fin,i).getNom()==Soldat)&&(plateau.getPion(x_fin,i).getProprietaire()==joueur_actif))
				return -1;
		}
	}
	else return 0;
	
}
开发者ID:florchal,项目名称:projet-shogi,代码行数:28,代码来源:Deplacements.cpp

示例5: main

int main()
{
	Plateau p;
	char choix;
	bool nouveau_jeu = false;

	while (nouveau_jeu == false)
	{
		p.plateau_centraliser();
		cout << "voulez vous continuer à jouer (O/N)" << endl;
		cin >> choix;
		if (choix == 'O' || choix == 'o')
		{
			
			nouveau_jeu = false;
		}
		else if (choix == 'N' || choix == 'n' )
		{
			cout << "le jeux va s'arrêté" << endl;
			nouveau_jeu = true;
		}
	}

	system("PAUSE");
	return 0;
}
开发者ID:unubore88,项目名称:CPP,代码行数:26,代码来源:main.cpp

示例6: modifierCase

void AngePuissant::modifierCase(int &ligne, int &colonne, Plateau &p) {

    p.gameboard()[_ligne][_colonne].setCase(false, true);

    p.gameboard()[ligne][colonne].setCase(false, false);
 
    _ligne = ligne, _colonne = colonne;  //Je sauvegarde mes coordonées afin de faire les test plsu tard dans incorrect.
}
开发者ID:etokas,项目名称:Ange-et-Demon,代码行数:8,代码来源:Joueur.cpp

示例7: gagne

// la methode qui va tester si l'ange est arrivé aux coins des cases
bool Ange::gagne(Plateau &plateau) {

    if (_ligne == 0 || _ligne == plateau.dim() - 1 || _colonne == 0 || _colonne == plateau.dim() - 1) {
        plateau.affiche();
        cout << "Bravo !! vous avez gagné \n" << endl;
        return true;
    }
    return false;
}
开发者ID:etokas,项目名称:Ange-et-Demon,代码行数:10,代码来源:Joueur.cpp

示例8: main

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Plateau w;
    w.setWindowIcon(QIcon(":/img/img/icone.ico"));
    w.setWindowTitle("Bonne nuit !");
    w.show();

    return a.exec();
}
开发者ID:algra4,项目名称:projetCPP,代码行数:10,代码来源:main.cpp

示例9: main

int main()
{
	cout << "\n Coucou ! \t" << endl;
    Plateau plateau = Plateau();
    plateau.afficher();

    cout << endl;
    plateau(4,4).afficher();
    plateau(4,4).modifPion(-1);
    plateau(4,4).afficher();
    plateau.afficher();
    cout << endl;
}
开发者ID:choucco,项目名称:Projet_cpp,代码行数:13,代码来源:main.cpp

示例10: render

void Renderer::render(surface& surf, Plateau& plateau) {

	surf.fill(color::black());
	back.blit(surf,100,0);

	int blanc=0;
	int noir=0;
	for(size_t i=0;i<plateau.pions.size();i++) {
		for(size_t j=0;j<plateau.pions[i].size();j++) {
			if(plateau.pions[i][j]==Pion::black()) {
				black.blit(surf,100+((int)i*60),(int)j*60);
				noir++;
			} else if(plateau.pions[i][j]==Pion::white()) {
				white.blit(surf,100+((int)i*60),(int)j*60);
				blanc++;
			}
		}
	}
	if(plateau.gameFinished()) {
		string aff = "Joueur: "
				+lexical_cast<string>(blanc)+" Ordinateur: "
				+lexical_cast<string>(noir);
		surface text = thefont.render_shaded(aff,color::cyan(),color::grey());
			text.blit(surf,(surf.get_width()/2)-(text.get_width()/2)
				,(surf.get_height()/2)-(text.get_height()/2));
	}

	surf.flip();
}
开发者ID:nicolas-van,项目名称:codeyong,代码行数:29,代码来源:Renderer.cpp

示例11: main

int main()
{
	srand(time(NULL));
	initscr();
	noecho();
	curs_set(FALSE);

	keypad(stdscr, TRUE);
	nodelay(stdscr, TRUE);
	intrflush(stdscr, TRUE);
	Plateau p;

	p.init_plateau();
	p.game();

	endwin();

	return 0;
}
开发者ID:Fantasim,项目名称:Langage-Cpp,代码行数:19,代码来源:main.cpp

示例12:

void Puissance4::affichage(){
  Plateau *p = Partie::getPartie()->getPlateau();
  for(int i = 0; i < nbLignes; i++){
    for(int j = 0; j< nbColonnes ; j++){
      if(p->hasPion(i, j)){
	switch(p->getCase(i, j)->getPion()->getJoueur()){
	  case 0: cout << "O "; break;
	  case 1: cout << "X "; break;
	}	
      }else {
	cout << ". ";
      }
    }
    cout << endl;
  }
  for(int j = 0; j< nbLignes; j++){
    cout << j << " " ;
  }
  cout << endl;
}
开发者ID:tsalmon,项目名称:LOA,代码行数:20,代码来源:Puissance4.cpp

示例13: incorrect

bool AngePuissant::incorrect(int &ligne, int &colonne, Plateau &plateau) {

    if (ligne < 0 || ligne > plateau.dim() - 1 || colonne < 0 || colonne > plateau.dim() - 1) {
        cout << "Cette case n'existe pas " << endl;
        return false;

    }else if(!plateau.gameboard()[ligne][colonne].broken() && !plateau.gameboard()[ligne][colonne].free()) {
        cout << "Vous êtes deja dessus !!\n" << endl;
        return false;

    } else if (plateau.gameboard()[ligne][colonne].broken() && !plateau.gameboard()[ligne][colonne].free()) {
        cout << "Case deja detruite !!\n" << endl;
        return false;
        
    }else{
        
        if (_colonne - _puissance <= colonne && colonne <= _colonne + _puissance && _ligne - _puissance <= ligne && ligne <= _ligne + _puissance) {
            return true;

        }else{
            cout << "Vous pouvez bouger que de " << _puissance << " cases" << endl;
            return false;
        }
    }
}
开发者ID:etokas,项目名称:Ange-et-Demon,代码行数:25,代码来源:Joueur.cpp

示例14: main

int main(void) {
	//! Déclaration des variables utiles au main
	Plateau plateau; //! Creation d'un plateau
	list<Deplacement> regulier, nulls; //! Liste temporaires de déplacements
	int tour = BLANC; //! Le premier tour sera effectué par les blancs : 0x00
	Deplacement deplacement; //! Stoque le déplacement en cours
	bool deplacementBool;

	//! Initialisation des deux joueurs IA
	IAJoueur noir(NOIR, 3);
	IAJoueur blanc(BLANC, 1);

	//! Iniialisation du plateau par defaut en le remplissant
	plateau.initialisationPlateau();

	printf("###################################################\n");
	printf("Jeux d'echec, computer vs. computeur. - m1_76\n"
			"Basé sur un algorithme d'elagage alpha-beta.\n"
			"(optimisation de l'algorithme MinMax)\n"
			"Profondeur de recherche (modifiable en dur) :\n"
			"--- NOIR : 4\n"
			"--- BLANC : 1\n"
			"ATTENTION : Etre patient, certains déplacements peuvent etre longs !\n");
	printf("###################################################\n");
	printf("##### Appuyez sur une touche pour commencer ! #####\n");
	getchar();
	for(;;) {

		//! Affichage du plateau
		plateau.affichage();

		//! Tour par tour
		if(tour)
			deplacementBool = noir.getDeplacement(plateau, deplacement);
		else
			deplacementBool = blanc.getDeplacement(plateau, deplacement);

		if(!deplacementBool) //! Si aucun déplacement n'est possible:deplacementBool=0
			break;

		//! Si un déplacement est trouvé alors on le get
		regulier.clear();
		nulls.clear();
		plateau.getDeplacements(tour, regulier, regulier, nulls);

		//Execution des mouvements nulls di de maintenance
		for(list<Deplacement>::iterator i=nulls.begin(); i!=nulls.end(); ++i){ //! On parcours la liste de déplacement nulls
			plateau.deplacement(*i);
		}

		//! On vient executer le déplacement sur le plateau
		plateau.deplacement(deplacement);

		//! On affiche le déplacement au dessu du plateau
		deplacement.affichage();

		//! On vient passer le tour à l'adverssair : 0x10 ^ tour
		tour = CHANGE_COULEUR(tour);
	}

	//! Get le Status du tour pour voir si il y a echec ou pat
	JoueurEchec::Status status = plateau.getJoueurStatus(tour);

	switch(status) //! En fonction du status du joueur en cour
	{
		case JoueurEchec::EchecMat:
			printf("EchecMat -- Les Noirs ont gagné\n");
			break;
		case JoueurEchec::Pat:
			printf("Pat -- Aucun vainqueur\n");
			break;
	}
}
开发者ID:Xeroxy,项目名称:chess-ASCII-cpp,代码行数:73,代码来源:jouer.cpp

示例15:

Plateau::Plateau(const Plateau &obj) {

    _dim = obj._dim;
    _gameboard = obj.gameboard();
}
开发者ID:etokas,项目名称:Ange-et-Demon,代码行数:5,代码来源:case.cpp


注:本文中的Plateau类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。