Advertisement
Guest User

NOT FINISHED BUT NOT BAD AT ALL

a guest
Jan 20th, 2020
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. typedef string Forme;
  7. typedef string Couleur;
  8.  
  9. class Brique{
  10.     private:
  11.     Forme forme;
  12.     Couleur couleur;
  13.    
  14.     public:
  15.    
  16.     Brique(const& string f, const& string c)
  17.     :forme(f), couleur(c)
  18.     {}
  19.    
  20.     string getCouleur() const
  21.     {
  22.         return couleur;
  23.     }
  24.    
  25.     void afficher(ostream& sortie)
  26.     {
  27.         if(couleur.size() > 0){
  28.             sortie << "(" << forme << ", " << couleur << ")";
  29.         } else {
  30.             sortie << forme;
  31.         }
  32.     }
  33. };
  34.  
  35. ostream& operator<<(ostream& sortie, const& Brique b)
  36. {
  37.     b.afficher(sortie);
  38.     return sortie;
  39. }
  40.  
  41. class Construction
  42. {
  43.     friend class Grader;
  44.    
  45.     public:
  46.    
  47.     vector<vector<vector<Brique>>> contenu;
  48.    
  49.     Construction(const& Brique b)
  50.     :contenu({{{b}}})
  51.     {}
  52.    
  53.     Construction(const& Construction c)
  54.     :contenu(c.getContenu())
  55.     {}
  56.    
  57.     vector<vector<vector<Brique>>> getContenu() const
  58.     {
  59.         return contenu;
  60.     }
  61.    
  62.     void afficher(ostream& sortie)
  63.     {
  64.         for(size_t i(contenu.size()-1); i > 0; i--){
  65.             sortie << "couche " << i << " :\n";
  66.             for(size_t j(contenu[i].size()-1); j > 0; j--){
  67.                 for(size_t k(contenu[i][j].size()-1); k > 0; k--){
  68.                     contenu[i][j][k].afficher(sortie);
  69.                 }
  70.             }
  71.             sortie << "\n";
  72.         }
  73.     }
  74.    
  75.    
  76. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement