jak zrobi zeby... [pisać poprawne pytania?]

0

Wszystko jest wyjasnione (zapytane ;-) ) w komentarzach:

...
procedure jakasProcedura;
begin
if z='x' then
begin
writeln('np. You Win');
halt;
{przerywa program}

{jak zrobic zeby ponowic gre?? tak zeby zdecydowac jak na koncu kodu, czy chce sie jeszzce raz zagrac czy zakonczyc program??tak żeby przeszlo w miejsce X (patrz strzałka nizej)}<=====

end;
end;

{poczatek programu}
begin
{X} <<<======================================================== X

repeat
...
{część kodu}
...
jakasProcedura;
...
readln(a);
until a = 'n';
{jezeli wspisze "n" to przerywa i konczy program jesli cos innego to rozpoczyna od nowa}
end.

z góry dzieki za pomoc

0

Skorzystaj z pętli jakiejś prostej, albo etykiet.

0

niestety nie moge dac etykiety (nawet sie rymło ;-) ) ponieważ "goto" nie moze obsługiwac etykiety w innym bloku niz "goto", a ja chcialem to dać w procedure, petle tez jakos mi nie dzialaja... , ma ktos moze jeszcze jakis pomysł??

0

Instrukcje warunkowe...

0

Instrukcje warunkowe...

niestety w bloku "procedure" nie działa mi, bo np.

procedure jakasProcedura;
begin
...
readln(a);
if a='z' then
begin
halt;
end
else
begin
{powróć do poczatku programu}
end;

begin
{poczatek programu} <<<===================
...
jakasProcedura;
...
{koniec}
end.

0

Rozwiązan jest dużo, ale najprosciej dac w głownym bloku begin..end. po jakasProcedura goto Poczatek. Jeżeli nie chcesz aby powrócić do początku to po prostu przerywasz Halt, a jak nie to samo przechodzi do początku, A jezeli nie to zrób z tej procedury funkcje i w zaelżnosci od wyniku przechodź do początku lub nie :-) .

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