Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- var x0, y0:integer;
- rect1:array[1..2] of integer=(13, 8);
- procedure draw_rect(xa, ya, h ,w:integer);
- var i:integer;
- begin
- for i:=xa to xa+w-1 do
- begin
- gotoxy(i, ya);
- write('*');
- gotoxy(i, ya+h-1);
- write('*');
- end;
- for i:=ya+1 to ya+h-2 do
- begin
- gotoxy(xa, i);
- write('*');
- gotoxy(xa+w-1, i);
- write('*');
- end;
- end;
- procedure draw_oval(x0, y0, h, w:integer);
- var i:integer;
- begin
- for i:=1 to (h div 2)+1 do
- begin
- gotoxy(x0-(w div 2)+(i-1), y0+(i-1));
- write('*');
- gotoxy(x0-(w div 2)+(i-1), y0-(i-1));
- write('*');
- gotoxy(x0+(w div 2)-(i-1), y0+(i-1));
- write('*');
- gotoxy(x0+(w div 2)-(i-1), y0-(i-1));
- write('*');
- end;
- for i:=1 to (w div 2)-1 do
- begin
- gotoxy(x0-(i-1), y0+(h div 2));
- write('*');
- gotoxy(x0+(i-1), y0+(h div 2));
- write('*');
- gotoxy(x0-(i-1), y0-(h div 2));
- write('*');
- gotoxy(x0+(i-1), y0-(h div 2));
- write('*');
- end;
- end;
- procedure draw_line(x0, y0, l:integer; alph:double);
- var i, dx, dy:integer;
- begin
- if ((alph = 0.5) or (alph = 1.5)) then
- begin
- dx:=0;
- dy:=-round(sin(alph*pi)/abs(sin(alph*pi)));
- end
- else
- if ((alph = 0) or (alph = 1)) then
- begin
- dy:=0;
- dx:=round(abs(cos(alph*pi))/cos(alph*pi));
- end
- else
- begin
- dy:=-round(sin(alph*pi)/abs(sin(alph*pi)));
- dx:=round(abs(cos(alph*pi))/cos(alph*pi));
- end;
- gotoxy(x0, y0);
- for i:=1 to l do
- begin
- write('*');
- x0:=x0+dx;
- y0:=y0+dy;
- gotoxy(x0, y0);
- end;
- end;
- procedure drawh(x0:integer);
- begin
- draw_rect(13+x0, 8, 8, 13);
- draw_oval(19+x0, 4, 5, 7);
- draw_line(12+x0, 8, 8, 1.25);
- draw_line(12+x0, 10, 7, 1.25);
- draw_line(5+x0, 16, 2, 1);
- draw_line(26+x0, 8, 8, 1.75);
- draw_line(26+x0, 10, 7, 1.75);
- draw_line(34+x0, 16, 2, 1);
- draw_line(19+x0, 7, 1, 1);
- draw_oval(19+x0, 10, 3, 3);
- draw_oval(19+x0, 17, 3, 3);
- draw_oval(19+x0, 21, 3, 3);
- draw_line(12+x0, 16, 8, 1.25);
- draw_line(26+x0, 16, 8, 1.75);
- draw_line(4+x0, 24, 31, 0);
- draw_line(16+x0, 25, 8, 1.5);
- draw_line(19+x0, 25, 10, 1.5);
- draw_line(22+x0, 25, 8, 1.5);
- draw_line(16+x0, 33, 7, 0);
- draw_line(14+x0, 35, 11, 0);
- draw_line(15+x0, 34, 1, 0);
- draw_line(23+x0, 34, 1, 0);
- end;
- begin
- clrscr;
- x0:=0;
- textcolor(14);
- drawh(0);
- textcolor(lightgreen);
- drawh(43);
- gotoxy(1,1);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement