• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Niechciane zapętlenie menu

VPS Starter Arubacloud
0 głosów
118 wizyt
pytanie zadane 6 stycznia 2017 w C i C++ przez Marchewka900 Bywalec (2,970 p.)

Tworzę grę (konsolową) i natknąłem się na problem przy tworzeniu menu. Utworzyłem całe menu jako funkcja "void", którą wywołuję na samym początku main(). No i tutaj pojawia się problem. By uaktywnić opcję "[1] Nowa Gra" muszę w "case 1:" umieścić odnośnik do początku main(). A tam program odczytuje linijkę "menu()". I mam niechcianą pętle. Da się jakoś to rozwiązać?

Wycinki kodu (cały jest zbyt duży):

 

cout << "					[1] Nowa Gra     [2] Wyjscie" << endl;
char y;
y = _getch();

switch (y)
{
	case '1':
	{
		Sleep(300);
		main();
	}
	break;
	case '2':
	{
		Sleep(1100);
		exit(0);
	}
	break;
}
int main()
{
	menu();
       //dalsze instrukcje

Ta funkcja na górze ma nazwę "menu()" rzecz jasna.

1 odpowiedź

0 głosów
odpowiedź 6 stycznia 2017 przez playerony Pasjonat (15,220 p.)
wybrane 6 stycznia 2017 przez Marchewka900
 
Najlepsza
Moża to zrobić na wiele sposobów, ale chyba jednym z lepszych będzie umieszczenie w "case 1:" funkcji, która będzie stanowiła petle gry. Czyli np "void mainLoop()".
komentarz 6 stycznia 2017 przez Marchewka900 Bywalec (2,970 p.)

Jest to jakaś funkcja z biblioteki? To znaczy chodzi mi o to, czy po prostu mam zastąpić to o tak:

z
 

case '1':
{
    main();
}

do

case '1':
{
    mainLoop();
}

? Oraz jak działa ta funkcja?

komentarz 6 stycznia 2017 przez playerony Pasjonat (15,220 p.)

No robisz własną jej implementacje:

void mainLoop(){
// funkcja obsługujaca gre
}

 

komentarz 6 stycznia 2017 przez Marchewka900 Bywalec (2,970 p.)
Aaa, już rozumiem. To, co zrobiłbym w main() zrobię w osobnej funkcji. faktycznie, usuwa to problem. Wielkie dzięki za pomoc :D

Podobne pytania

+1 głos
2 odpowiedzi 546 wizyt
0 głosów
1 odpowiedź 522 wizyt
pytanie zadane 20 czerwca 2020 w C# przez Czerenia Początkujący (330 p.)
0 głosów
3 odpowiedzi 1,400 wizyt
pytanie zadane 26 sierpnia 2017 w Java przez fipooo Bywalec (2,880 p.)

93,024 zapytań

141,986 odpowiedzi

321,291 komentarzy

62,371 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...