Problem z opuszczeniem podwójnej pętli while
Ostatnio zmodyfikowano 2011-12-27 15:33
marianekA Temat założony przez niniejszego użytkownika |
Problem z opuszczeniem podwójnej pętli while » 2011-12-27 00:51:55 W pętli głównej mam wewnętrzną pętlę z której to nie potrafię wyjść. Wszelkie próby prowadzą do pozostania w pętli wewnętrznej lub do zakończenia programu wyjścia z obydwu pętli. Po naciśnięciu SPACE chcę powrócić na początek pętli głównej by kontynuować kolejny poziom gry. Idę spać, pewnie jestem już przemęczony i nic mądrego już nie wymyślę ale liczę na Waszą pomoc: do { rysowanie_diagramu(); blit( screen, kopia, 40, 160, 0, 0, 40 + 80 * 9, 150 + 80 * 5 ); stretch_sprite( screen, kopia, 70, 13, 180, 100 ); mieszanie(); while( !key[ KEY_ESC ] ) { texty(); myszka(); if( spr < 45 ) { przewijanie(); sprawdzenie(); } if( spr == 45 ) voice_start( 1 ); if( spr == 45 && key[ KEY_SPACE ] ) { voice_stop( 1 ); ++poz; break; } } } while( poz > 10 );
...i jak wstawiać kod tu na forum by był w takiej ramce C/C++ |
|
malan |
» 2011-12-27 01:28:36 (...)jak wstawiać kod tu na forum by był w takiej ramce C/C++ | Kurs STC. |
|
szyx_yankez |
» 2011-12-27 08:46:42 do { abc: while( !key[ KEY_ESC ] ) { if( spr == 45 && key[ KEY_SPACE ] ) { goto abc; } } } while( poz > 10 );
|
|
matek2305 |
» 2011-12-27 09:24:23 Ja bym to tak zrobił: bool op = false;
do { while( !key[ KEY_ESC ] ) { if( spr == 45 && key[ KEY_SPACE ] ) { op = true; break; } } } while(( poz > 10 ) || op ); |
|
pekfos |
» 2011-12-27 13:51:52 @szyx_yankez: goto? może od razu na wyjątkach? :P try { while( 1 ) { for(;; ) { if( q ) throw 1; } } } catch(...) { } |
|
szyx_yankez |
» 2011-12-27 15:21:30 O boshe, znowu się zaczyna, jakie to goto jest złe, jakie niedobre... Każdy za młodu nasłuchał się takich bajeczek, i masz.
To też jest element języka i jedyną rzeczą jaki różni moje rozwiązanie od rozwiązania @matek2305 to czytelność, chociarz i tak wg. mnie moje jest czytelniejsze(ale to niech już sobie każdy sam zinterpretuje). |
|
marianekA Temat założony przez niniejszego użytkownika |
» 2011-12-27 15:26:47 no właśnie Goto nie brałem pod uwagę ale najlepiej podoba mi się rozwiązanie z dodatkową zmienną, dodam że jak usunąłem z warunku głównej pętli zmienną poz i wstawiłem tam KEY_x to działa dobrze na dniach zamieszczę na forum tę moją pierwszą grę. Już dwa tygodnie uczę się tego C++ ...i mi się podoba. |
|
szyx_yankez |
» 2011-12-27 15:33:06 Czyli problem rozwiązany? Jak tak to: close thread. |
|
« 1 » |