/* ==================================================*/ /* =========== classe Bateau ====================*/ /* ==================================================*/ #include "bateau.h" // ===== Constructeur(s) & Destructeurs ===== Bateau::Bateau() { nom=" "; nbcase=0; touche=0; } Bateau::Bateau(char* t,int nb) {type=t; nbcase=nb;touche=0;} Bateau::Bateau(char *n,char *t,int nbCase) { nom = n; type = t; nbcase = nbCase; touche=0; } Bateau::Bateau(char* n,int nbr,char dir, Position pos,char* typ) { nom = n; nbcase = nbr; direction = dir; p = pos; type=typ; touche=0; } Bateau::~Bateau() {} // ===== Accesseurs ===== // === au type === void Bateau::setType(char* s) {type=s;} char* Bateau::getType() {return type;} // === au nom === void Bateau::setNom(char *n) {nom = n;} char* Bateau::getNom() { return nom;} // === au nombre de cases === void Bateau::setNbcase(int nb) {nbcase = nb;} int Bateau::getNbcase() { return nbcase;} // === à la direction === void Bateau::setDirection(char O) {direction = O;} char Bateau::getDirection() { return direction;} // === au nombre de cases touchées === void Bateau::setTouche(int t) { touche=t;} int Bateau::getTouche() {return touche;} // === à la position === Position Bateau::getPosition() {return p;} void Bateau::setPosition(int c,int l) { p.setLigne(l); p.setColonne(c); } //=== à la ligne du positionnement initial === int Bateau::getLigne() {return p.getLigne();} void Bateau::setLigne(int l) {p.setLigne(l); } // === à la colonne du positionnement initial === int Bateau::getColonne() {return p.getColonne();} void Bateau::setColonne(int l) {p.setColonne(l);} /* ================================================ */ /* ============ autres méthodes =================== */ /* ================================================ */ // met un case touche au bateau void Bateau::touche_bateau() { touche +=1;} //vraie si bateau coulé bool Bateau::coule_bateau() {if(nbcase == touche) return true; else return false;}//vraie si bateau coulé // associe une lettre à un chiffre int Bateau::transformation(char X) { int i; if (X=='A') {i=0;} else{ if(X=='B') {i=1;} else{ if(X=='C') {i=2;} else{ if(X=='D') {i=3;} else{ if(X=='E') {i=4;} else{ if(X=='F') {i=5;} else{ if(X=='G') {i=6;} else{ if(X=='H') {i=7;} else{ if(X=='I') {i=8;} else{ if(X=='J') {i=9;} else{ if(X=='K') {i=10;} else{ if(X=='L') {i=11;} else{ if(X=='M') {i=12;} else{ if(X=='N') {i=13;} else{ if(X=='O') {i=14;} else{ if(X=='P') {i=15;} }}}}}}}}}}}}}}} return i; } // saisie pour positionnement de bateau void Bateau::saisie(){ char abs='Z'; char axe='Z'; char saisieord[2]; int ord = 0; int j; while((abs != 'A')&&(abs!='B')&&(abs != 'C')&&(abs != 'D')&&(abs != 'E')&&(abs != 'F')&&(abs != 'G')&&(abs != 'H')&&(abs != 'I')&&(abs != 'J')&&(abs != 'K')&&(abs != 'L')&&(abs != 'M')&&(abs != 'N')&&(abs != 'O')&&(abs != 'P')) { cout<<"Colonne : "; cin>>abs; } while(!(ord>=1 && ord<=16)) { cout<<"Ligne : "; cin>>saisieord; ord = ((int)saisieord[0] - (int)'0')*10; ord += (int)saisieord[1] - (int)'0'; } while((axe != 'H')&&(axe!='V')) { cout<<"Orientation (H ou V): "; cin>>axe; } cout<