fork(1) download
  1. #include <iostream>
  2. #include <string>
  3. #include <cmath>
  4. #include <memory>
  5. #include <limits>
  6. #include <ctime>
  7. #include <cstdlib>
  8.  
  9. void keep()
  10. {
  11. std::cin.clear();
  12. std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
  13. std::cin.get();
  14. }
  15.  
  16. void delete_all_files()
  17. {
  18. try
  19. {
  20. #ifdef _WIN32
  21. #elif __posix
  22. #endif
  23. }
  24. catch (const std::exception& e)
  25. {
  26. std::cout << "Exception in delete_all_files" << std::endl;
  27. }
  28. }
  29.  
  30. const int MAX_TRIES = 3;
  31.  
  32. class NumberQuiz
  33. {
  34. public:
  35. NumberQuiz(const std::string& Playername) : m_PlayerName(Playername),
  36. m_NumberGuessed(false), m_GuessedNumber(0), m_Tries(0)
  37. {
  38. srand(time(NULL));
  39. m_TargetNumber = rand() % 20 + 1;
  40. }
  41. void RunLoop()
  42. {
  43. for (m_Tries = 0; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries)
  44. {
  45. std::cin >> m_GuessedNumber;
  46.  
  47. if (m_GuessedNumber == m_TargetNumber) m_NumberGuessed = true;
  48. }
  49.  
  50. if(!m_NumberGuessed) delete_all_files();
  51. }
  52. private:
  53. unsigned int m_TargetNumber;
  54. const std::string m_PlayerName;
  55. bool m_NumberGuessed;
  56. int m_GuessedNumber;
  57. int m_Tries;
  58. };
  59.  
  60. int main(int argc, const char* argv[])
  61. {
  62. std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl;
  63. //Beep(500, 1000);
  64. std::cout << "Du spielst um all deine Dateien!" << std::endl;
  65. //Beep(700, 1000);
  66. std::cout << "Der Dateidieb heißt " << argv[0] << " der fiese." << std::endl;
  67. std::cout << "Wie heißt du?" << std::endl;
  68. std::string PlayerName;
  69. std::cin >> PlayerName;
  70. std::cout << PlayerName << ", es gibt nur einen Weg den Dateidieb ";
  71. std::cout << "aufzuhalten: Errate seine Zahl!" << std::endl;
  72. std::cout << "Du hast " << MAX_TRIES << " Versuche" << std::endl;
  73. auto quiz = NumberQuiz(PlayerName);
  74. quiz.RunLoop();
  75. keep();
  76. }
Success #stdin #stdout 0s 3348KB
stdin
Standard input is empty
stdout
Willkommen bei 'Fight For Your Data'!
Du spielst um all deine Dateien!
Der Dateidieb heißt ./prog der fiese.
Wie heißt du?
, es gibt nur einen Weg den Dateidieb aufzuhalten: Errate seine Zahl!
Du hast 3 Versuche