Pomoc odnośnie programu - gry.

0

Witajcie,

chciałbym prosić was o pomoc przy pewnym problemie. Jak sobie z nim poradzić? Mianowicie, podczas kliknięcia opcji "1" wyskakuje mi zawartość "case: 1" i dodatkowo menu. Jak zrobić, żeby nie było menu? Niby usunięcie "while(wybor_1!=4)" działa, ale potem "case: 2, case: 3" nie działają poprawnie, czyli nie cofają do menu po naciśnięciu ENTER. Za jakiekolwiek pomysły dziękuję! Niżej wklejam kod. Pozdrawiam!

#include <iostream>
#include <cstdlib>
#include <conio.h>
#include <windows.h>

using namespace std;

int zloto = 100, populacja = 1, nagroda = 10, koszt_wyzywienia = 5, kopalnia_lvl = 1, wybor_1;

int main()
{
    while (wybor_1 != 4) {
        cout << "Wczytywanie";
        Sleep(300);
        cout << ".";
        Sleep(300);
        cout << ".";
        Sleep(300);
        cout << ".";
        Sleep(300);
        system("cls");
        cout << "Settlement of miners!" << endl;
        cout << endl;
        cout << "1. Graj." << endl;
        cout << "2. Zasady gry." << endl;
        cout << "3. Autor gry." << endl;
        cout << "4. Wyjdz z gry" << endl;
        cout << endl;
        cout << "Wybierz: ";
        cin >> wybor_1;
        system("cls");

        switch (wybor_1) {
        case 1:
            cout << "1. Powieksz populacje." << endl;
            cout << "2. Rozbuduj kopalnie." << endl;
            cout << "3. Wykop zlota" << endl;
            break;

        case 2:
            cout << "Zasady gry." << endl;
            cout << "1. Musisz zdobyc 10,000 zlota." << endl;
            cout << "2. Twoje zloto nie moze spasc ponizej 0." << endl;
            cout << "\n\nNacisnij ENTER, aby wrocic.";
            cin.sync();
            cin.get();
            system("cls");
            break;

        case 3:
            cout << "Autor gry: Wojciech Szalachowski" << endl;
            cout << "\n\nNacisnij ENTER, aby wrocic.";
            cin.sync();
            cin.get();
            system("cls");
            break;

        case 4:
            exit(0);
            break;

        default:
            cout << "Nie ma takiej opcji w menu" << endl;
            cout << "\n\nNacisnij ENTER, aby wrocic.";
            cin.sync();
            cin.get();
            system("cls");
            break;
        }
    }
    getch();
    return 0;
}
0

Chyba zmieniłem to, o co prosiłeś? Teraz dobrze?

0
Tilonisko napisał(a):

Witajcie,
chciałbym prosić was o pomoc przy pewnym problemie. Jak sobie z nim poradzić? Mianowicie, podczas kliknięcia opcji "1" wyskakuje mi zawartość

Zrozumiałem tyle, ile jest w cytacie. Dalej nie rozumiem za wiele. Co to np. znaczy wyskakuje 'case 1' ?
Pozdrawiam

0

musisz zrobić w "case 1" kolejną pętlę while i w niej kolejne menu...

0

Otwiera ci się menu wraz z opcją Case 1, ponieważ masz wszystko w pętli While. Najlepiej dać if(Status_menu==1) przed Menu i po wybraniu któregoś Case zmienić Status_Menu na 0. Wtedy menu się nie wyświetli :)

Albo po prostu czyść konsolę po wybraniu Case. W zależności co chcesz osiągnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1