kro0p3k |
Wysłany: Wto 14:42, 01 Cze 2010 Temat postu: Rysowanie Ramki. |
|
Witam. Mam pewien problem.
Mamy na zadanie napisać program, który:
1. Pyta użytkownika o współrzędne :
a)Lewego górnego rogu
b)Prawego dolnego rogu.
Następnie rysuje owy Prostokąt.
2. Trzeba było zabezpieczyć program, aby ramka nie wychodziła poza ekran tj. Szerokość 80, wysokość 25.
3.Na samym końcu trzeba użyć procedury w pkt. 1 i zapytać użytkownika, czy Chce narysować jeszcze jedną ramkę.
jeżeli nie program się wyłącza, jeżeli tak wywołuje się procedurę z pkt. 1 i rysuje się drugą ramkę.
Problem w Tym, że w pkt. 3 mam pewien problem i nie wiem jak go rozwiązać. próbowałem na różne sposoby i nic.
Więc chciałbym Was prosić o pomoc.
Oto program:
Kod: | USES crt;
VAR a,b,x1,y1,x2,y2,z:byte;
PROCEDURE prostokat(lx1,ly1,lx2,ly2:byte);
var pi,pj:byte;
begin
Gotoxy(lx1,ly1);
write(chr(201));
FOR pi:=lx1+1 TO lx2-1 DO
begin
Gotoxy(pi,ly1);
write(chr(205));
end;
pi:=pi+1;
Gotoxy(pi,ly1);
write(chr(187));
FOR pj:=ly1+1 TO ly2-1 DO
begin
Gotoxy(pi,pj);
write(chr(186));
end;
pj:=pj+1;
Gotoxy(pi,pj);
write(chr(188));
FOR pi:=pi-1 DOWNTO lx1+1 DO
begin
Gotoxy(pi,pj);
write(chr(205));
end;
Gotoxy(lx1,pj);
write(chr(200));
FOR pj:=pj-1 DOWNTO ly1+1 DO
begin
Gotoxy(lx1,pj);
write(chr(186));
end;
end;
BEGIN
clrscr;
gotoxy(1,20);
writeln('Podaj wsp˘rz©dne lewego g˘rnego rogu:');
readln(x1,y1);
Repeat
clrscr;
writeln('Podaj wsp˘rz©dne prawego dolnego rogu');
readln(x2,y2);
Until (x2>x1+1) and (y2>y1+1) and
(x1>0) and (y1>0) and (x1<=78) and (y1<=25) and
(x2<80) and (y2<25);
prostokat(x1,y1,x2,y2);
begin
gotoxy(1,20);
writeln('Czy chcesz narysowa† jeszcze jednĄ ramk© ?');
writeln('1.Tak, Chc©');
writeln('2.Nie.');
readln(z);
while z<>2 do
begin prostokat;
while z=2 do exit;
readkey;
end. |
a problem mam z tą częścią programu:
Kod: | begin
gotoxy(1,20);
writeln('Czy chcesz narysowa† jeszcze jednĄ ramk© ?');
writeln('1.Tak, Chc©');
writeln('2.Nie.');
readln(z);
while z<>2 do
begin prostokat;
while z=2 do exit; |
Myślę, że ktoś pomoże mi rozwiązać ten problem |
|