本文整理汇总了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;
}
示例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);
}
//.........这里部分代码省略.........