Błąd związany z untilem, nie mam pojęcia co jest złego.
uses crt, dos;
var
slownik: array[1..255] of string;
slowo:array[1..10] of string;
tablica:array[1..10] of string;
i,x,proba:integer;
nazwa,rysuj1,rysuj2,rysuj3,litera:string;
znak:char;
LABEL miejsce1;
procedure szubienica(rysuj1,rysuj2,rysuj3:string);
begin
writeln(' _________');
writeln(' | |');
write(' |');
writeln(rysuj1);
write(' |');
writeln(rysuj2);
write(' |');
writeln(rysuj3);
writeln(' / \');
writeln('/ \');
writeln;
end;
function szukanie(a:string):string;
var
i:integer;
Begin
for i := 1 to 256 do
Begin
if slownik[i] = '' then
Begin
if i<256 then
Begin
szukanie:='ok';
break;
end;
end
else if slownik[i] <> '' then
Begin
if slownik[i] = a then
Begin
szukanie:='blad';
break;
End;
End
else if slownik[i] = '' then
Begin
if i>256 then
Begin
szukanie:='brak wolnych miejsc';
break;
end;
end;
end;
end;
Begin
proba:=1;
clrscr;
i:=1;
Writeln('Podaj haslo do odgadniecia');
Writeln('Aby zakonczyc wpisywanie nacisnij q');
Repeat
znak:=readkey;
if znak = 'q' then
Begin
goto miejsce1;
End;
Writeln('Podano ', i, ' litere slowa');
writeln(znak);
slowo[i]:=znak;
inc(i);
until i = 10;
miejsce1:
for x:= 1 to i do
Begin
nazwa:= nazwa+slowo[x];
end;
Writeln;
clrscr;
szukanie(nazwa);
if szukanie(nazwa) = 'ok' then
Begin
slownik[1]:=nazwa;
for i:= 1 to length(nazwa) do
Begin
tablica[i]:= '_';
Write(tablica[i], ' ');
End;
End;
Repeat
Writeln;
Writeln('Podaj litere');
szubienica(rysuj1,rysuj2,rysuj3);
readln(litera);
for i:=1 to length(nazwa) do
Begin
if slowo[i] = litera then
Begin
tablica[i]:=litera;
End
else
inc(proba);
case proba of
1:
begin
rysuj1:=' O';
end;
2:
begin
rysuj1:=' O';
rysuj2:=' /';
end;
3:
begin
rysuj1:=' O';
rysuj2:=' /|';
end;
4:
begin
rysuj1:=' O';
rysuj2:=' /|\';
end;
5:
begin
rysuj1:=' O';
rysuj2:=' /|\';
rysuj3:=' /';
end;
6:
begin
rysuj1:=' O';
rysuj2:=' /|\';
rysuj3:=' / \';
szubienica(rysuj1,rysuj2,rysuj3);
Writeln('No i ludek sie powiesil. Mozesz zaczac gre odnowa.');
writeln('Dziekujemy za skorzystanie z naszej gry.');
End;
End;
for i:= 1 to length(nazwa) do
Begin
Write(tablica[i], ' ');
End;
until proba = 7;
Repeat until keypressed;
End.