void Case::copy(const Case kase){//DONE setTouche(kase.getTouche()); setBateau(kase.getBateau()); }
int main(){ Grille grilleVide(0, 0); cout << "On cree une grille vide" << endl; cout << " GrilleVide vide? " << (grilleVide.grilleVide()?"Oui":"Non") << endl; Grille grille(15, 20); cout << "On cree une grille de taille 15x20" << endl; cout << " Taille : (" << grille.getTailleGrille().getLongueur() << "x" << grille.getTailleGrille().getHauteur() << ")" << endl; cout << " Grille vide? " << (grille.grilleVide()?"Oui":"Non") << endl; Bateau bat1(2); Bateau bat2(5); cout << "On teste un bon placement" << endl; cout << " Resultat: " << (grille.placementBateauValide(&bat1, Coordonnees(0, 0), Coordonnees(0, 1))?"OK":"Pas OK") << endl; cout << "On teste les placements hors du cadre" << endl; cout << " Debordement Hauteur max: " << (grille.placementBateauValide(&bat1, Coordonnees(0, 19), Coordonnees(0, 20))?"OK":"Pas OK") << endl; cout << " Debordement Hauteur min: " << (grille.placementBateauValide(&bat1, Coordonnees(0, -1), Coordonnees(0, 0))?"OK":"Pas OK") << endl; cout << " Debordement Largeur max: " << (grille.placementBateauValide(&bat1, Coordonnees(14, 0), Coordonnees(15, 0))?"OK":"Pas OK") << endl; cout << " Debordement Largeur min: " << (grille.placementBateauValide(&bat1, Coordonnees(-1, 0), Coordonnees(0, 0))?"OK":"Pas OK") << endl; cout << "On teste pas aligné" << endl; cout << " Resultat: " << (grille.placementBateauValide(&bat1, Coordonnees(0, 0), Coordonnees(1, 1))?"OK":"Pas OK") << endl; cout << "On place un bateau" << endl; grille.placerBateau(&bat1, Coordonnees(0, 0), Coordonnees(0, 1)); cout << "On essai de placer un bateau par dessus" << endl; cout << " Resultat: " << (grille.placementBateauValide(&bat2, Coordonnees(0, 0), Coordonnees(0, 4))?"OK":"Pas OK") << endl; cout << "On place un bateau2" << endl; grille.placerBateau(&bat2, Coordonnees(4, 3), Coordonnees(0, 3)); cout << "On crée une grille par recopie" << endl; Grille grilleCopy(grille); cout << " GrilleCopy vide? " << (grilleCopy.grilleVide()?"Oui":"Non") << endl; cout << "On copie notre grille vide dans grille" << endl; grille.copy(grilleVide); cout << " Grille vide? " << (grille.grilleVide()?"OK":"Pas OK") << endl; cout << " GrilleVide vide? " << (grilleVide.grilleVide()?"OK":"Pas OK") << endl; cout << " GrilleCopy vide? " << (grilleCopy.grilleVide()?"Pas OK":"OK") << endl; cout << "On recupere une case" << endl; Case kase = grilleCopy.getCaseElt(Coordonnees(0, 0)); cout << " Case pleine: " << (kase.getBateau()==nullptr?"Pas OK":"OK") << endl; kase = grilleCopy.getCaseElt(Coordonnees(10, 0)); cout << " Case vide: " << (kase.getBateau()!=nullptr?"Pas OK":"OK") << endl; cout << "On teste un coup valide" << endl; cout << " Resultat: " << (grilleCopy.coupValide(Coordonnees(0, 0))?"OK":"Pas OK") << endl; cout << "On teste les coups hors du cadre" << endl; cout << " Debordement Hauteur max: " << (grilleCopy.coupValide(Coordonnees(0, 20))?"Pas OK":"OK") << endl; cout << " Debordement Hauteur min: " << (grilleCopy.coupValide(Coordonnees(0, -1))?"Pas OK":"OK") << endl; cout << " Debordement Largeur max: " << (grilleCopy.coupValide(Coordonnees(15, 0))?"Pas OK":"OK") << endl; cout << " Debordement Largeur min: " << (grilleCopy.coupValide(Coordonnees(-1, 0))?"Pas OK":"OK") << endl; grilleCopy.tirerDessus(Coordonnees(0, 0)); cout << " Case deja touchée: " << (grilleCopy.coupValide(Coordonnees(0, 0))?"Pas OK":"OK") << endl; return 0; }