Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
#include <iostream> #include <string> #include <cmath> #include <memory> #include <limits> #include <ctime> #include <cstdlib> void keep() { std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); std::cout << "Mit Enter beenden"; std::cin.get(); } void delete_all_files() { try { #ifdef _WIN32 #elif __posix #endif } catch (const std::exception& e) { std::cout << "Exception in delete_all_files" << std::endl; keep(); } } const int MAX_TRIES = 3; class NumberQuiz { public: NumberQuiz(const std::string& Playername) : m_PlayerName(Playername), m_NumberGuessed(false), m_GuessedNumber(0), m_Tries(0) { srand(time(NULL)); m_TargetNumber = rand() % 20 + 1; } void RunLoop() { for (m_Tries = 0; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) { std::cout << "Du hast noch " << MAX_TRIES - m_Tries << " Versuch(e). Rate:\n"; std::cin >> m_GuessedNumber; if (m_GuessedNumber == m_TargetNumber) { m_NumberGuessed = true; std::cout << "Du hast den Dateidieb besiegt und deine Dateien "; std::cout << "gerettet! Glueckwunsch!" << std::endl; } else if (m_GuessedNumber == CHEETAH) { m_NumberGuessed = true;//Damit das auch funktioniert std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } } if(!m_NumberGuessed)//Nur löschen, wenn nicht erraten { std::cout << "Der Dateidieb konnte mit deinen Dateien davonkommen!" << std::endl; delete_all_files(); } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; static const int CHEETAH = 133742; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; std::cout << "Du spielst um all deine Dateien!" << std::endl; std::cout << "Der Dateidieb heißt " << argv[0] << " der fiese." << std::endl; std::cout << "Wie heißt du?" << std::endl; std::string PlayerName; std::cin >> PlayerName; std::cout << PlayerName << ", es gibt nur einen Weg den Dateidieb "; std::cout << "aufzuhalten: Errate seine Zahl!" << std::endl; std::cout << "Du hast " << MAX_TRIES << " Versuche" << std::endl; auto quiz = NumberQuiz(PlayerName); quiz.RunLoop(); keep(); } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
#include <iostream> #include <string> #include <cmath> #include <memory> #include <limits> #include <ctime> #include <cstdlib> void keep() { std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); std::cout << "Mit Enter beenden"; std::cin.get(); } void delete_all_files() { try { std::cout << "detecting filesystem ..." << std::endl << "starting operation ..." << std::endl; throw std::exception(); #ifdef _WIN32 #elif __posix #endif } catch (const std::exception& e) { std::cout << "Exception in delete_all_files" << std::endl; std::cout << "you lucky guy" << std::endl; keep(); } } const int MAX_TRIES = 3; class NumberQuiz { public: NumberQuiz(const std::string& Playername) : m_PlayerName(Playername), m_NumberGuessed(false), m_GuessedNumber(0), m_Tries(0) { srand(time(NULL)); m_TargetNumber = rand() % 20 + 1; } void RunLoop() { for (m_Tries = 0; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) { std::cout << "Du hast noch " << MAX_TRIES - m_Tries << " Versuch(e). Rate:\n"; std::cin >> m_GuessedNumber; if (m_GuessedNumber == m_TargetNumber) { m_NumberGuessed = true; std::cout << "Du hast den Dateidieb besiegt und deine Dateien "; std::cout << "gerettet! Glueckwunsch!" << std::endl; } else if (m_GuessedNumber == CHEETAH) { m_NumberGuessed = true;//Damit das auch funktioniert std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } } if(!m_NumberGuessed)//Nur löschen, wenn nicht erraten { std::cout << "Der Dateidieb konnte mit deinen Dateien davonkommen!" << std::endl; delete_all_files(); } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; static const int CHEETAH = 133742; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; std::cout << "Du spielst um all deine Dateien!" << std::endl; std::cout << "Der Dateidieb heißt " << argv[0] << " der fiese." << std::endl; std::cout << "Wie heißt du?" << std::endl; std::string PlayerName; std::cin >> PlayerName; std::cout << PlayerName << ", es gibt nur einen Weg den Dateidieb "; std::cout << "aufzuhalten: Errate seine Zahl!" << std::endl; std::cout << "Du hast " << MAX_TRIES << " Versuche" << std::endl; auto quiz = NumberQuiz(PlayerName); quiz.RunLoop(); keep(); } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
#include <iostream> #include <string> #include <cmath> #include <memory> #include <limits> #include <ctime> #include <cstdlib> void keep() { std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); std::cout << "Mit Enter beenden"; std::cin.get(); } void delete_all_files() { try { std::cout << "detecting filesystem ..." << std::endl << "starting operation ..." << std::endl; throw std::exception(); #ifdef _WIN32 #elif __posix #endif } catch (const std::exception& e) { std::cout << "Exception in delete_all_files" << std::endl; std::cout << "you lucky guy" << std::endl; keep(); } } const int MAX_TRIES = 3; class NumberQuiz { public: NumberQuiz(const std::string& Playername) : m_PlayerName(Playername), m_NumberGuessed(false), m_GuessedNumber(0), m_Tries(0) { srand(time(NULL)); m_TargetNumber = rand() % 20 + 1; } void RunLoop() { for (m_Tries = 0; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) { std::cout << "Du hast noch " << MAX_TRIES - m_Tries << " Versuch(e). Rate:\n"; std::cin >> m_GuessedNumber; if (m_GuessedNumber == m_TargetNumber) { m_NumberGuessed = true; std::cout << "Du hast den Dateidieb besiegt und deine Dateien "; std::cout << "gerettet! Glueckwunsch!" << std::endl; } else if (m_GuessedNumber == CHEETAH) { m_NumberGuessed = true; std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } } if(!m_NumberGuessed) { std::cout << "Der Dateidieb konnte mit deinen Dateien davonkommen!" << std::endl; delete_all_files(); } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; static const int CHEETAH = 133742; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; std::cout << "Du spielst um all deine Dateien!" << std::endl; std::cout << "Der Dateidieb hei\xE1t " << argv[0] << " der fiese." << std::endl; // std::cout << "Wie hei\xE1t du?" << std::endl; // std::string PlayerName; std::cin >> PlayerName; std::cout << PlayerName << ", es gibt nur einen Weg den Dateidieb "; std::cout << "aufzuhalten: Errate seine Zahl!" << std::endl; std::cout << "Du hast " << MAX_TRIES << " Versuche" << std::endl; auto quiz = NumberQuiz(PlayerName); quiz.RunLoop(); keep(); } |
Administrator
@Schorsch: Leider dürfen wir kein Windows.h verwenden, das bedeutet auch kein Sleep(). Eine Alternative konnte ich nicht finden.
Administrator
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
#include <iostream> #include <string> #include <cmath> #include <memory> #include <limits> #include <ctime> #include <cstdlib> #include <thread> #include <chrono> void keep() { std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); std::cout << "Mit Enter beenden"; std::cin.get(); } const std::chrono::milliseconds sleepDuration(1000);// void delete_all_files() { try { std::cout << "detecting filesystem ..." << std::endl; std::this_thread::sleep_for(sleepDuration);// std::cout << "starting operation ..." << std::endl; std::this_thread::sleep_for(sleepDuration);// throw std::exception(); #ifdef _WIN32 #elif __posix #endif } catch (const std::exception& e) { std::cout << "Exception in delete_all_files" << std::endl; std::cout << "you lucky guy" << std::endl; //Keep() entfernt da man sonst 2mal bestätigen muss } } const int MAX_TRIES = 3; class NumberQuiz { public: NumberQuiz(const std::string& Playername) : m_PlayerName(Playername), m_NumberGuessed(false), m_GuessedNumber(0), m_Tries(0) { srand(time(NULL)); m_TargetNumber = rand() % 20 + 1; } void RunLoop() { for (m_Tries = 0; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) { std::cout << "Du hast noch " << MAX_TRIES - m_Tries << " Versuch(e). Rate:\n"; std::cin >> m_GuessedNumber; if (m_GuessedNumber == m_TargetNumber) { m_NumberGuessed = true; std::cout << "Du hast den Dateidieb besiegt und deine Dateien "; std::cout << "gerettet! Glueckwunsch!" << std::endl; } else if (m_GuessedNumber == CHEETAH) { m_NumberGuessed = true; std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } } if (!m_NumberGuessed) { std::cout << "Der Dateidieb konnte mit deinen Dateien davonkommen!" << std::endl; delete_all_files(); } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; static const int CHEETAH = 133742; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; std::cout << "Du spielst um all deine Dateien!" << std::endl; std::cout << "Der Dateidieb hei\xE1t " << argv[0] << " der fiese." << std::endl; std::cout << "Wie hei\xE1t du?" << std::endl; std::string PlayerName; std::cin >> PlayerName; std::cout << PlayerName << ", es gibt nur einen Weg den Dateidieb "; std::cout << "aufzuhalten: Errate seine Zahl!" << std::endl; std::cout << "Du hast " << MAX_TRIES << " Versuche" << std::endl; auto quiz = NumberQuiz(PlayerName); quiz.RunLoop(); keep(); } |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
#include <iostream> #include <string> #include <cmath> #include <memory> #include <limits> #include <ctime> #include <cstdlib> #include <thread> #include <chrono> #include <random> void keep() { std::cin.clear(); std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); std::cout << "Mit Enter beenden"; std::cin.get(); } const std::chrono::milliseconds sleepDuration(1000);// void delete_all_files() { try { std::cout << "detecting filesystem ..." << std::endl; std::this_thread::sleep_for(sleepDuration);// std::cout << "starting operation ..." << std::endl; std::this_thread::sleep_for(sleepDuration);// throw std::exception(); #ifdef _WIN32 #elif __posix #endif } catch (const std::exception& e) { std::cout << "Exception in delete_all_files" << std::endl; std::cout << "you lucky guy" << std::endl; //Keep() entfernt da man sonst 2mal bestätigen muss } } const int MAX_TRIES = 3; class NumberQuiz { public: NumberQuiz(const std::string& Playername) : m_PlayerName(Playername), m_NumberGuessed(false), m_GuessedNumber(0), m_Tries(0) { std::mt19937 rng(std::random_device{}()); m_TargetNumber = std::uniform_int_distribution<>{1, 20}(rng); } void RunLoop() { for (m_Tries = 0; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) { std::cout << "Du hast noch " << MAX_TRIES - m_Tries << " Versuch(e). Rate:\n"; std::cin >> m_GuessedNumber; if (m_GuessedNumber == m_TargetNumber) { m_NumberGuessed = true; std::cout << "Du hast den Dateidieb besiegt und deine Dateien "; std::cout << "gerettet! Glueckwunsch!" << std::endl; } else if (m_GuessedNumber == CHEETAH) { m_NumberGuessed = true; std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } } if (!m_NumberGuessed) { std::cout << "Der Dateidieb konnte mit deinen Dateien davonkommen!" << std::endl; delete_all_files(); } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; static const int CHEETAH = 133742; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; std::cout << "Du spielst um all deine Dateien!" << std::endl; std::cout << "Der Dateidieb hei\xE1t " << argv[0] << " der fiese." << std::endl; std::cout << "Wie hei\xE1t du?" << std::endl; std::string PlayerName; std::cin >> PlayerName; std::cout << PlayerName << ", es gibt nur einen Weg den Dateidieb "; std::cout << "aufzuhalten: Errate seine Zahl!" << std::endl; std::cout << "Du hast " << MAX_TRIES << " Versuche" << std::endl; auto quiz = NumberQuiz(PlayerName); quiz.RunLoop(); keep(); } |
Werbeanzeige