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 |
#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::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; } } 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::cin >> m_GuessedNumber; if (m_GuessedNumber == m_TargetNumber) m_NumberGuessed = true; } if(!m_NumberGuessed) delete_all_files(); } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; //Beep(500, 1000); std::cout << "Du spielst um all deine Dateien!" << std::endl; //Beep(700, 1000); 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(); } |
Hmmm das war auf SO bei einer Antwort gelistet, ist jedoch nicht auf dieser Liste.Zitat von »"David"«
Ist "__posix" eigentlich korrekt?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »eXpl0it3r« (17.12.2013, 15:24)
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 |
#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::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; } } 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 = 1; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) //m_Tries auf 1 gesetzt da man sonst 4 Versuche hätte { 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;// } } if (!m_NumberGuessed) delete_all_files(); } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; //Beep(500, 1000); std::cout << "Du spielst um all deine Dateien!" << std::endl; //Beep(700, 1000); 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 |
#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::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; } } 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 = 1; m_Tries < MAX_TRIES && !m_NumberGuessed; ++m_Tries) { 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 //Änderung1 { delete_all_files(); } //Änderung2 (kann jemand einen Zeilenumbruch hinzufügen?) } //Änderung 3: If Abfrage entfernt } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; //Beep(500, 1000); std::cout << "Du spielst um all deine Dateien!" << std::endl; //Beep(700, 1000); 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(); } |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MitgliedXYZ« (17.12.2013, 17:55)
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 |
#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::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; } } 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)//War doch so richtig, da kleiner und nicht kleiner gleich { 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 { delete_all_files(); } //Zeilenumbruch } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; }; int main(int argc, const char* argv[]) { std::cout << "Willkommen bei 'Fight For Your Data'!" << std::endl; //Beep(500, 1000); std::cout << "Du spielst um all deine Dateien!" << std::endl; //Beep(700, 1000); 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 |
#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::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(); // Blödes Konsolenfenster - haut immer ab! Außerdem Beeps entfernt. } } 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::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 { delete_all_files(); } } } private: unsigned int m_TargetNumber; const std::string m_PlayerName; bool m_NumberGuessed; int m_GuessedNumber; int m_Tries; }; 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(); } |
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 |
#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::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(); // Blödes Konsolenfenster - haut immer ab! Außerdem Beeps entfernt. } } 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::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) { std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } else { 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 // For "debugging" reasons ... Now u can safely implement delete_all_files }; 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(); } |
Wie erklärst du dir dann, dass ich immer 4 Versuche habe?
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 |
#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"; // Kontrollausgabe 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) { std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } else { 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; // Hier fehlte ein Semikolon }; 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 |
#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) { std::cout << "Der Dateidieb hatte Pech. Glück für dich!"; } } std::cout << "Der Dateidieb konnte mit deinen Dateien davonkommen!" << std::endl; // delete_all_files(); //Verschoben } 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(); } |
Werbeanzeige