Skocz do zawartości


Zdjęcie

[PASCAL]Gierka liczbowa większe/mniejsze-problem


  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 MotylloPL

MotylloPL

    Nowy

  • 1 postów

Napisano 03 02 2011 - 23:55

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.

  • 0

#2 l3ol3a

l3ol3a

    Początkujący

  • 15 postów

Napisano 10 02 2011 - 17:54

Co to znaczy szwankuje...?
Używaj bbcode!

  • 0

#3 yuurei

yuurei

    Nowy

  • 1 postów

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

Użytkownik yuurei edytował ten post 21 02 2011 - 17:31

  • 0

Zobacz więcej tematów z tagiem: Turbo Pascal



Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych