-1
votes

Comment faire une boucle BOOL dans la console C ++?

J'essaie de faire un jeu simple dans la console avec C ++. Tout s'est parfaité, mais je ne peux pas simplement obtenir la "pêche" de Bool. Il retourne juste 0 après la première session de "pêche". Voici mon code

 fishing = false;
              
            if (fishing == false) {
                system("cls");
                cout << "Do you wish to fish again?" << endl;
                cout << "Current Amount of fish: ";
                cout << fish << endl;
                cin >> hellyea;
                if (hellyea == 1)
                    fishing = true;
            }

            while (fishing == true) {

                // the "waiting to catch a fish" part


                // randomly selecting type of fishes
                system("cls");
                srand(time(NULL));
                auto fishtype = rand() % 3;

                if (fishtype == 0) {
                    system("cls");
                    cout << "You just got an: " << "Common Carp!" << endl;
                    fish++;
                    cout << "Your Fish Amount: ";
                    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
                    cout << fish << endl;
                    SetConsoleTextAttribute(hConsole, saved_colors);
                    Sleep(2000);

                }
                if (fishtype == 1) {
                    system("cls");
                    cout << "Argh! You just found: " << "A bag Of Trash!" << endl;
                    cout << "You lose 1 fish :(" << endl;
                    fish = fish - 1;
                    if (fish == -1)
                        fish++;
                    cout << "Your Fish Amount: ";
                    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
                    cout << fish << endl;
                    SetConsoleTextAttribute(hConsole, saved_colors);
                    Sleep(2000);
                }
                if (fishtype == 2) {
                    system("cls");
                    cout << "You just got an: " << "Gold Fish! Congrats!";
                    fish++;
                    cout << "Your Fish Amount: ";
                    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
                    cout << fish << endl;
                    SetConsoleTextAttribute(hConsole, saved_colors);
                    Sleep(2000);
                }
                fishing = false;
            }


0 commentaires

3 Réponses :


1
votes

Parce que vous l'avez dit:

fishing = false;


0 commentaires

0
votes

à la fin de votre tandis que vous faites Pêche = FALSE code> et boucle extrémités parce que Pêche == true code> retour 0

fishing = false;

            if (fishing == false) {
                system("cls");
                cout << "Do you wish to fish again?" << endl;
                cout << "Current Amount of fish: ";
                cout << fish << endl;
                cin >> hellyea;
                if (hellyea == 1)
                    fishing = true;
            }

            while (fishing == true) {

                // the "waiting to catch a fish" part


                // randomly selecting type of fishes
                system("cls");
                srand(time(NULL));
                auto iSecret = rand() % 3;

                if (iSecret == 0) {
                    system("cls");
                    cout << "You just got an: " << "Common Carp!" << endl;
                    fish++;
                    cout << "Your Fish Amount: ";
                    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
                    cout << fish << endl;
                    SetConsoleTextAttribute(hConsole, saved_colors);
                    Sleep(2000);

                }
                if (iSecret == 1) {
                    system("cls");
                    cout << "Argh! You just found: " << "A bag Of Trash!" << endl;
                    cout << "You lose 1 fish :(" << endl;
                    fish = fish - 1;
                    if (fish == -1)
                        fish++;
                    cout << "Your Fish Amount: ";
                    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
                    cout << fish << endl;
                    SetConsoleTextAttribute(hConsole, saved_colors);
                    Sleep(2000);
                }
                if (iSecret == 2) {
                    system("cls");
                    cout << "You just got an: " << "Gold Fish! Congrats!";
                    fish++;
                    cout << "Your Fish Amount: ";
                    SetConsoleTextAttribute(hConsole, FOREGROUND_BLUE | FOREGROUND_INTENSITY);
                    cout << fish << endl;
                    SetConsoleTextAttribute(hConsole, saved_colors);
                    Sleep(2000);
                }
            }


3 commentaires

Vous n'avez pas besoin de définir une variable sur true quand c'est vrai déjà.


Pourquoi sur Terre avez-vous renommé FishType , qui est un nom de variable parfaitement descriptif, à isecret , qui sonne comme une mauvaise application iPhone et ne vous dit rien?


Vous pouvez ouvrir vos yeux et vérifier que Stephan a renommé que la variable. Je n'ai jamais changé de noms de variables à certains que je veux s'ils existent déjà.



1
votes

Si vous voulez continuer à pêcher après avoir attrapé un poisson Vous devrez mettre le "Voulez-vous pêcher à nouveau?" à l'intérieur d'une boucle séparée pour / tandis que la question est demandé à nouveau après avoir attrapé un poisson.


0 commentaires