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


C++ Plateau::getCaseDuTableau方法代码示例

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


在下文中一共展示了Plateau::getCaseDuTableau方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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: appliquerAlgoEtude

void AlgoEtude::appliquerAlgoEtude (Case caseCliquee)
{
	// On récupère le plateau, sa taille et le joueur en cours
	Plateau* plateau = ((CJeuDeDamesApp *)AfxGetApp( ))->getPlateau();
	int nbCases = ((CJeuDeDamesApp *)AfxGetApp( ))->getTaillePlateau();
	int joueurEnCours = ((CJeuDeDamesApp *)AfxGetApp( ))->getJoueurEnCours();
	AlgoRegle* algoRegle = ((CJeuDeDamesApp *)AfxGetApp( ))->getAlgoRegle();
	int nbPionsBlanc = ((CJeuDeDamesApp *)AfxGetApp( ))->getNbPionsBlanc();
	int nbPionsRouge = ((CJeuDeDamesApp *)AfxGetApp( ))->getNbPionsRouge();

	// CAS DU JOUEUR 1
	if (joueurEnCours == 1 )
	{
		// Il clique sur une case occupée par un de ses pions
		if(caseCliquee.getEtat() == NOIR_OC_BLANC)
		{
			// On désélectionne toutes les cases
			for(int i = 0; i < nbCases; i++) {
				for(int j = 0; j < nbCases; j++)
				{
					if (plateau->getCaseDuTableau(i, j).getEtat() == NOIR_SEL) plateau->setCaseDuTableau(i, j, NOIR);
				} 
			}

			caseMemo = algoRegle->deroulerAlgo(caseCliquee);	
		}

		// Il clique sur une case candidate au déplacement
		if(caseCliquee.getEtat() == NOIR_SEL)
		{
			int iMemo = caseMemo.getLigne();
			int jMemo = caseMemo.getColonne();

			int iClic = caseCliquee.getLigne();
			int jClic = caseCliquee.getColonne();

			// On déplace le pion
			plateau->setCaseDuTableau(iMemo, jMemo, NOIR);
			plateau->setCaseDuTableau(iClic, jClic, NOIR_OC_BLANC);

			// CAS où on saute un pion
			if ((iMemo - iClic) == 2)
			{
				testCaseOc(caseCliquee, algoRegle, plateau);
				nbPionsRouge -= 1;
				((CJeuDeDamesApp *)AfxGetApp( ))->setNbPionsRouge(nbPionsRouge);
			}
			
			// On désélectionne toutes les cases
			for(int i = 0; i < nbCases; i++) {
				for(int j = 0; j < nbCases; j++)
				{
					if (plateau->getCaseDuTableau(i, j).getEtat() == NOIR_SEL) plateau->setCaseDuTableau(i, j, NOIR);
				} 
			}

			// On change de joueur
			((CJeuDeDamesApp *)AfxGetApp( ))->setJoueurEnCours(2);
		}

	}

	// CAS DU JOUEUR 2
	if (joueurEnCours == 2 )
	{
		// Il clique sur une case occupée par un de ses pions
		if(caseCliquee.getEtat() == NOIR_OC_ROUGE)
		{
			// On désélectionne toutes les cases
			for(int i = 0; i < nbCases; i++) {
				for(int j = 0; j < nbCases; j++)
				{
					if (plateau->getCaseDuTableau(i, j).getEtat() == NOIR_SEL) plateau->setCaseDuTableau(i, j, NOIR);
				} 
			}

			caseMemo = algoRegle->deroulerAlgo(caseCliquee);
		}

		// Il clique sur une case candidate au déplacement
		if(caseCliquee.getEtat() == NOIR_SEL)
		{
			int iMemo = caseMemo.getLigne();
			int jMemo = caseMemo.getColonne();

			int iClic = caseCliquee.getLigne();
			int jClic = caseCliquee.getColonne();

			// On déplace le pion
			plateau->setCaseDuTableau(iMemo, jMemo, NOIR);
			plateau->setCaseDuTableau(iClic, jClic, NOIR_OC_ROUGE);

			// CAS où on saute un pion
			if ((iClic - iMemo) == 2)
			{
				testCaseOc(caseCliquee, algoRegle, plateau);
				nbPionsBlanc -= 1;
				((CJeuDeDamesApp *)AfxGetApp( ))->setNbPionsBlanc(nbPionsBlanc);
			}

//.........这里部分代码省略.........
开发者ID:lpouilly,项目名称:Jeu-de-Dames,代码行数:101,代码来源:AlgoEtude.cpp


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