Advertisement
SwordPencil

bushdoings.cpp

Sep 29th, 2016
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.05 KB | None | 0 0
  1. #include "bushclass.h"
  2. //В этом файле идет реализация всех методов класса Bush.
  3. bool Bush::CheckHealth(int checkSize){//Этот метод нужен для того, чтобы проверить состояние куста.
  4.     if(checkSize == 0)
  5.         alive = false;
  6.     return alive;
  7. }
  8.  
  9. char Bush::FeedingBush(char food){//Метод для удобрения куста.
  10.     cout << "Nu kormi.\nViberu nuzhnoe:\n #1 #2 #3 #4 #5\n";
  11.     food = getch();
  12.     return food;
  13. }
  14.  
  15. char Bush::WateringBush(char water){//Метод для поливания куста.
  16.     cout << "Zalit' vodi\n 1 - 0,5 l\ 2 - n1 l\n 3 - 1,5 l\n";
  17.     water = getch();
  18.     return water;
  19. }
  20.  
  21. char ColourChange(){//Метод смены цвета.
  22.     char colour = getch();
  23.     if((colour != '1') || (colour != '2') || (colour != '3') || (colour != '4') (colour != '5') || (colour != '6') || (colour != '7') || (colour != '8'))
  24.         ColourChange(); //Что-бы не было проблем с цветом, мы либо вводим нужный цвет, либо нет.
  25.     return colour;
  26. }
  27.  
  28. Bush::Bush(){//Конструктор куста. Ну тут собственно мы тут вводим нужную информацию о кусте.
  29.     cout << "Nazovite svoi cust" << endl;
  30.     cin >> bushSpecies;
  31.     cout << "Maximalnii razmer vashego kusta(25 - predel razmera):";
  32.     while(0 < maxSize <= 50){
  33.         cin >> maxSize;
  34.     }
  35.     cout << "Viberite tsvet svoego kusta. Elsi nuzhno tsvetpomeniat to zdorovie vernetsa nazad\n1.KRASNI\n2.SUNII\n3.ZHELTII\n4.FIOLETOVII\n5.GREEN\n6.PINK\n7.White\n8.Black\n";
  36.     color = getch();
  37.     cout << "Kak mnogo emu nado vodi?\n1 - pol-litra\n2 - 1 litr\n3 - poltora litra\n";
  38.     waterNeeds = getch();
  39.     cout << "Kakie udobrenya?\n#1 - #2 - #3 - #4 - #5\n";
  40.     supplyType = getch();
  41.     currentSize = 1; //Начальный размер куста 1, если он станет 0, то все, куста не будет.
  42.     alive = true; //Изначально куст же живой. Мы его только посадили.
  43.     }
  44.  
  45. Bush Bush::BushGrowth(Bush bush){//Этот метод реализует процесс ухода за кустом, ну конкретного. Этот метод можно не вызывать, но хуже будет.
  46.     char whatToDo = 'c'; //Кнопка, отвечающая за выбор действия.
  47.     cout << "Viberite nuzhoe deystvie\n1- UDOBRIT'\n 2 - POLIT'\n3 - PEREKRASIT (ELSI PRECRASIT, KUST TERAET 5 OCHKOV!!)\n";
  48.     while(int(whatToDo) != 23){
  49.         whatToDo = getch();
  50.         switch(whatToDo){
  51.             case '1':
  52.                 if(FeedingBush(bush.supplyType))
  53.                     bush.currentSize += 3;
  54.                     break;
  55.             case '2':
  56.                 if(WateringBush(bush.waterNeeds))
  57.                     bush.currentSize += 1;
  58.             break;
  59.             case '3':
  60.                 cout << "Novii tsvet (Nu choz vash kust umenshulsya na 5):\n1.KRASNI\n2.SUNII\n3.ZHELTIY\n4.FIOLETOVIY\n5.ZELENIY\n6.ROZOVIY\n7.BELIY\n8.CHERNIY\n";
  61.                 bush.color = ColourChange(); //Покрашивание, по-моему должно наносить вред. Вот поэтому мы теряем 5 очков.
  62.                 bush.currentSize -= 5;
  63.             break;
  64.         }
  65.     }
  66.     return bush;
  67. }
  68.  
  69. int Bush::BushShow(Bush bush){//Вывод информации о вашем кусте.
  70.     if(!CheckHealth(bush.currentSize)){//Нам надо проверить здоровье куста, прежде чем его показать. Если уж он умер,
  71.         cout << "0/" << maxSize << "\nTVOI KUST UMER!! SOCHVSTVUYU\n"; //то отображать, его нет смысла.
  72.         system("pause");
  73.         return 0;
  74.     }
  75.     cout << "Imya:" << bush.bushSpecies << "\n"<< "Size: " << bush.currentSize << "/" << bush.maxSize << "\n";
  76.     cout << "Tsvet: ";
  77.     switch(bush.color){    
  78.         case '1': cout << "KRASNI\n"; break;
  79.         case '2': cout << "SINII\n"; break;
  80.         case '3': cout << "ZHELTIY\n";  break;
  81.         case '4': cout << "FIOLETOVIY\n"; break;
  82.         case '5': cout << "ZELENIY\n"; break;
  83.         case '6': cout << "ROZOVIY\n"; break;
  84.         case '7': cout << "BELIY\n"; break;
  85.         case '8': cout << "CHERNIY\n"; break;
  86.     }
  87.     system("pause");
  88.     return 1;
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement