Advertisement
Baxram97

Untitled

Mar 9th, 2022
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.50 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. class Gallow {
  5. private:
  6.     int lives = 12;
  7.     char answer = 0;
  8.     std::string word;
  9.     std::string hiddenWord;
  10.     int succesCounter = 0;
  11.     int counter = 0;
  12.  
  13.     inline bool ifCorrect() const {
  14.         for (int i = 0; i < word.length(); i++) {
  15.             if (word[i] == answer) return true;
  16.         }
  17.         return false;
  18.     }
  19.  
  20. public:
  21.  
  22.     inline void setAnswer() {
  23.         std::cout << "Enter the letter" << std::endl;
  24.         std::cout << ">>> ";
  25.         std::cin >> answer;
  26.  
  27.         for (int i = 0; i < word.length(); i++) {
  28.             if (word[i] == answer) {
  29.                 hiddenWord[i] = answer;
  30.                 succesCounter++;
  31.             }
  32.         }
  33.  
  34.         if (succesCounter > 0) {
  35.             std::cout << "Correct letter [+]!" << std::endl;
  36.             std::cin.ignore();
  37.             system("clear");
  38.             std::cout << "Current word: ";
  39.             showHiddenWord();
  40.             std::cout << std::endl;
  41.             succesCounter = 0;
  42.  
  43.             std::cout << "Count of your lives: " << lives << std::endl;
  44.         } else {
  45.             std::cout << "Incorrect letter [-]!" << std::endl;
  46.             std::cin.ignore();
  47.             system("clear");
  48.             std::cout << "Current word: ";
  49.             showHiddenWord();
  50.             std::cout << std::endl;
  51.             lives--;
  52.  
  53.             std::cout << "Count of your lives: " << lives << std::endl;
  54.  
  55.             if (lives <= 0) {
  56.                 std::cout << "You died!" << std::endl;
  57.                 std::exit(1);
  58.             }
  59.         }
  60.     }
  61.  
  62.     inline void setWord() {
  63.         std::cout << "Enter the word" << std::endl;
  64.         std::cout << ">>> ";
  65.         std::cin >> word;
  66.     }
  67.  
  68.     inline void showHiddenWord() {
  69.         if (!(counter > 0)) {
  70.             for (int i = 0; i < word.length(); i++) {
  71.                 hiddenWord.insert(hiddenWord.begin(), '*');
  72.             }
  73.         }
  74.         std::cout << hiddenWord << std::endl;
  75.         counter++;
  76.     }
  77.  
  78.     inline bool isWordCorrect() const {
  79.         if (hiddenWord == word)
  80.             return true;
  81.         else
  82.             return false;
  83.     }
  84.  
  85.     inline int getLifes() const { return lives; }
  86. };
  87.  
  88. int main() {
  89.     Gallow *gallow = new Gallow;
  90.     gallow->setWord();
  91.     std::cin.ignore();
  92.     system("clear");
  93.  
  94.     gallow->showHiddenWord();
  95.     while (!gallow->isWordCorrect()) {
  96.         gallow->setAnswer();
  97.     }
  98.     std::cout << "You win!" << std::endl;
  99.     delete gallow;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement