Du bist nicht angemeldet.

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

Cranberry

Treue Seele

Beiträge: 312

Wohnort: Innsbruck, Tirol

  • Private Nachricht senden

71

22.12.2013, 14:18

Ich würde es so lassen, da Fehlermeldungen meistens (auch bei deutschen Spielen) auf Englisch sind.

BK Simon

Treue Seele

Beiträge: 151

Beruf: Student

  • Private Nachricht senden

72

23.12.2013, 00:10

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
103
104
105
106
107
108
109
110
111
112
113
114
#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 << "Men\x81" << std::endl;    // 
    std::cout << "1 - Fight For Your Data" << std::endl;   //
    std::cout << "0 - Ende" << std::endl;   //

    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();
}

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »BK Simon« (25.12.2013, 01:33)