1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std ;
// voici la variable en question
// je voudrai créer un plateau composée de pointeur sur des pièces
Piece* SS[8][8] ;
class Coordonnee {
ici attributs et méthode Coordonee
};
class Piece {
ici attributs et méthode Piece
}
class Pion :public Piece {
ici attributs et méthode Pion
}
class Plateau{
public :
Plateau();
void Affichage();
};
Plateau::Plateau(){
for(int i = 0 ; i<8;i++){
for(int j=0;j<8;j++){
SS[i][j]=0;
}}
Piece *P1= new Piece(2,2,1,'P');
Piece *P2=new Piece(3,3,2,'P');
Piece *P3=new Piece(4,4,1,'P');
Piece *P4=new Piece(5,6,2,'P');
Piece *P5=new Piece(6,7,1,'P');
SS[2][2] = P1;
SS[3][3] = P2;
SS[4][4] = P3;
SS[5][6] = P4;
SS[6][7] = P5;
}
void Plateau::Affichage(){
int val = 0;
int ligne , colonne ;
int ligne1 , colonne1;
Piece* Ptr = NULL;
while(val!=1) {
for(int i = 0 ; i<8;i++){
for(int j=0;j<8;j++){
if(SS[i][j]==0){
cout << "_" <<" " ;
}
else{
cout << SS[i][j]->getEtiquette() << " " ;
}
}
cout << endl ;
}
cout << "entrer le point actuel :\n";
cin >> ligne >> colonne;
cout << "ligne:" << ligne <<"colonne:" << colonne << endl ;
cout << "entrer le d'arrivee :\n";
cin >> ligne1 >> colonne1;
cout << "ligne:" << ligne1 <<"colonne:" << colonne1 << endl ;
Ptr = SS[ligne1][colonne1];
bool resultat = SS[ligne][colonne]->ValiderDeplacement(ligne1,colonne1,Ptr);
if(resultat==1){
SS[ligne][colonne]->Deplacer(ligne1,colonne1);
SS[ligne1][colonne1] = SS[ligne][colonne];
SS[ligne][colonne] = 0;
}
else{
cout << "impossible de se déplacer" << endl ;
}
} |
Partager