Witam, próbowałem zrobić prostą gierkę, w której komputer
odgaduje liczbę, którą sobie ustaliłem(wymyśliłem). Na początku podaje przedział od-do, a komputer losuje liczbę z tego przedziału, gdy już ma liczbę ja daje podpowiedź czy to ta, czy jest za mała, czy za duża. Jeżeli dam za duża lub za mała przedział powinien się zmniejszyć do tej liczby. Gierka szwankuje, proszę o odnalezienie błędu :]
Program
Zgadnij_Liczbe2;
Uses crt;
var a1,a2,a3,a4,b,c:integer;
Begin
clrscr;
randomize;
WriteLn('Witaj.Komputer sprobuje odgadnac Twoja liczbe;.');
Write('Podaj przedzial od: ');
Read(a1);
Write('do: ');
Readln(a2);
write('podaj liczbe; z tego przedzialu '); readln©;
b:=(a2-a1)+a1;
repeat
Write('Czy jest to liczba ' ,b,' 1.Tak zgadles 2.Za malo 3.Za duzo');
Readln©;
If c=2 then
begin
a3:=a1+b;
b:=random(a2-a3)+a3;
end;
If c=3 then
begin
a4:=(b-a2)+a2;
b:=random(a4);
end;
If c=1 then writeln('aha');
Until c=1;
Repeat Until Keypressed;
End.
[PASCAL]Gierka liczbowa większe/mniejsze-problem
Rozpoczęty przez
MotylloPL
, 03 02 2011 23:55
2 odpowiedzi w tym temacie
#1
Napisano 03 02 2011 - 23:55
#2
Napisano 10 02 2011 - 17:54
Co to znaczy szwankuje...?
Używaj bbcode!
Używaj bbcode!
#3
Napisano 21 02 2011 - 17:30
Teraz jest dobrze Jednym słowem prawie wszystko miałeś źle
program Zgadnij_Liczbe2;
uses crt;
var a1,a2,b,c:integer;
label wroc;
begin
clrscr;
randomize;
WriteLn('Witaj.Komputer sprobuje odgadnac Twoja liczbe;.');
Write('Podaj przedzial od: ');
Read(a1);
Write('do: ');
Readln(a2);
repeat
b:=random(a2-a1)+a1;
wroc:
Write('Czy jest to liczba ' ,b,' 1.Tak zgadles 2.Za malo 3.Za duzo');
Readln©;
if c=2 then
begin
if b=a2 then
begin
writeln('To nie mozliwe bo wybralem najwyzsza liczbe!');
goto wroc;
end;
a1:=b+1
end
else
if c=3 then
begin
if b=a1 then
begin
writeln('To nie mozliwe bo wybralem najmniejsza liczbe!');
goto wroc;
end;
a2:=b-1
end
else
if c=1 then writeln('aha');
until c=1;
readln;
end.
Podstawy programowania
program Zgadnij_Liczbe2;
uses crt;
var a1,a2,b,c:integer;
label wroc;
begin
clrscr;
randomize;
WriteLn('Witaj.Komputer sprobuje odgadnac Twoja liczbe;.');
Write('Podaj przedzial od: ');
Read(a1);
Write('do: ');
Readln(a2);
repeat
b:=random(a2-a1)+a1;
wroc:
Write('Czy jest to liczba ' ,b,' 1.Tak zgadles 2.Za malo 3.Za duzo');
Readln©;
if c=2 then
begin
if b=a2 then
begin
writeln('To nie mozliwe bo wybralem najwyzsza liczbe!');
goto wroc;
end;
a1:=b+1
end
else
if c=3 then
begin
if b=a1 then
begin
writeln('To nie mozliwe bo wybralem najmniejsza liczbe!');
goto wroc;
end;
a2:=b-1
end
else
if c=1 then writeln('aha');
until c=1;
readln;
end.
Podstawy programowania
Użytkownik yuurei edytował ten post 21 02 2011 - 17:31
Użytkownicy przeglądający ten temat: 1
0 użytkowników, 1 gości, 0 anonimowych