Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Графика в Паскале. (http://www.tehnari.ru/f41/t29302/)

Eli 18.10.2009 20:32

Черный!! :D:D:D :

Вовчик_11 19.10.2009 10:20

Всем большое спасибо за старание!=))) Но может кто может его нарисовать через процедуры? А то препод сказал, что нужно будет заставить его еще двигаться...вот.
Заранее благодарю!=)

Vladimir_S 19.10.2009 11:24

И мышей он должен ловить?

Вовчик_11 20.10.2009 16:24

Нет, мышей ловить он не должен=)

Вовчик_11 30.10.2009 09:08

Помогите пжалуйста доделать!

program kot;
uses crt, graph;
var gd,gm:integer;
x,y,dx,dy,r,x1,x2,y1,y2,color,n,h:integer;
procedure krug(dx,dy,color: integer);
begin
setcolor(color);
circle(x+dx, y+dy,r);
setfillstyle(1,3);
floodfill(x+dx, y+dy, color);
end;

procedure lin(dx,dy,color,h,n:integer); {us}
begin
setcolor(color);
Line(x+dx,y+dy,x+dx+n,y+dy+h);
end;
begin
gd:=detect;
initgraph(gd,gm, 'c:\BP1\bgi');
cleardevice;
x:=250; y:=150; dy:=20; dx:=40; r:=40;
color:=red; krug (dx,dy,color);
y:=y-60; r:=25;
krug (dx,dy,color);
y:=y-10; r:=8; x:=x-10;
color:=red; krug(dx,dy,color);
r:=5;
color:=red; krug(dx,dy,color);


krug (dx,dy,color); r:=8; x:=x+20;
color:=red; krug(dx,dy,color);
krug (dx,dy,color); r:=5;
color:=red; krug(dx,dy,color);


krug (dx,dy,color); r:=12; x:=x+10; y:=y-20;
color:=red; krug(dx,dy,color);

krug (dx,dy,color); r:=12; x:=x-40;
color:=red; krug(dx,dy,color);


y:=90; r:=25;x:=250;
h:=0; n:=40; color:=white;
Lin(dx,dy,color,h,n); {us }
h:=-7; n:=40;
lin(dx,dy,color,h,n);
Lin(dx,dy,color,h,n); {us }
h:=7; n:=40;
lin(dx,dy,color,h,n);


h:=0; n:=-40;
Lin(dx,dy,color,h,n); {us }
h:=-7; n:=-40;
lin(dx,dy,color,h,n);
Lin(dx,dy,color,h,n); {us }
h:=7; n:=-40;
lin(dx,dy,color,h,n);
readln;
closegraph;
end.

Vladimir_S 30.10.2009 09:49

Вложений: 1
Цитата:

Сообщение от Вовчик_11 (Сообщение 255815)
Помогите пжалуйста доделать!

Уважаемый Вовчик, Вам было предложено два варианта построения кота, но Вы решили действовать по-своему. Похвально. Вот только вряд ли мы сможем Вам чем-нибудь помочь. Сами начали - сами и заканчивайте. Успеха!
Пока же у Вас получился скорее не кот, а мышь Микки-Маус:

HD-boy 24.12.2009 18:01

Может кому интересно будет..писал сам от начала до конца.

Код:

program robokop;
uses crt,graph;
const step=0.1;
var
gd,gm,x,y,i,n,m,z,viz,akt,u,t,c:integer; p,a,b:real;
procedure nebo;
var m,n,c,i:integer;
begin
for i:=1 to 500 do begin
n:=random(640); m:=random(480); c:=random(15);
putpixel(n,m,c);
End;
end;

procedure robot(x,y:integer);
begin
circle(x+10,y+10,20); {telo}
circle(x+10,y+45,30);
circle(x+4,y+6,5); {glaza}
circle(x+16,y+6,5);
circle(x+43,y+30,8); {ruki}
circle(x-23,y+30,8);
circle(x+25,y+68,8); {nogi}
circle(x-5,y+68,8);
setfillstyle(1,red);
floodfill(x+1,y+1,white);
arc(x+52,y+30,0,900,85);
Fillellipse(x-30,y+63,25,5); {xvost}
arc(x+10,y+15,15,8,3);
Line(x+2,y-12,x+8,y-5);
Line(x+2,y-12,x-2,y-3);
Line(x+20,y-12,x+16,y-5);
Line(x+20,y-12,x+24,y-2);
line(x+10,y+13,x-18,y+10); {ysi}
line(x+10,y+13,x-18,y+13);
line(x+10,y+13,x-18,y+16);
line(x+10,y+13,x+36,y+10);
line(x+10,y+13,x+36,y+13);
line(x+10,y+13,x+36,y+16);
setfillstyle(1,red);
floodfill(x+1,y+1,white);
{krolik}
circle(x+100,y+10,20);
circle(x+100,y+45,30);
circle(x+94,y+6,3);
circle(x+106,y+6,3);
circle(x+133,y+30,8);
circle(x+67,y+30,8);
FillEllipse(x+120,y+68,15,5);
fillEllipse(x+80,y+68,15,5);
FillEllipse(x+93,y-17,4,13);
FillEllipse(x+107,y-17,4,13);
Arc(x+100,y+15,15,8,3);
line(x+100,y+13,x+79,y+10);
line(x+100,y+13,x+79,y+13);
line(x+100,y+13,x+79,y+16);
line(x+100,y+13,x+121,y+10);
line(x+100,y+13,x+121,y+13);
line(x+100,y+13,x+121,y+16);
end;

procedure robot1(x,y:integer);
begin
circle(x+10,y+10,20); {telo}
circle(x+10,y+45,30);
circle(x+4,y+6,5); {glaza}
circle(x+16,y+6,5);
circle(x+43,y+30,8); {ruki}
circle(x-23,y+30,8);
circle(x+25,y+68,8); {nogi}
circle(x-5,y+68,8);
arc(x+52,y+30,900,0,85);
setfillstyle(1,red);
floodfill(x+1,y+1,white);
Fillellipse(x-30,y+63,25,5); {xvost}
arc(x+10,y+15,15,8,3);
Line(x+2,y-12,x+8,y-5);
Line(x+2,y-12,x-2,y-3);
Line(x+20,y-12,x+16,y-5);
Line(x+20,y-12,x+24,y-2);
line(x+15,y+13,x-18,y+10); {ysi}
line(x+15,y+13,x-18,y+13);
line(x+15,y+13,x-18,y+16);
line(x+15,y+13,x+36,y+10);
line(x+15,y+13,x+36,y+13);
line(x+15,y+13,x+36,y+16);
setfillstyle(1,red);
floodfill(x+1,y+1,white);
{Krolik}
circle(x+100,y+10,20);
circle(x+100,y+45,30);
circle(x+94,y+6,3);
circle(x+106,y+6,3);
circle(x+133,y+30,8);
circle(x+67,y+30,8);
FillEllipse(x+120,y+68,15,5);
fillEllipse(x+80,y+68,15,5);
FillEllipse(x+93,y-17,4,13);
FillEllipse(x+107,y-17,4,13);
Arc(x+100,y+15,15,8,3);
line(x+100,y+13,x+79,y+10);
line(x+100,y+13,x+79,y+13);
line(x+100,y+13,x+79,y+16);
line(x+100,y+13,x+121,y+10);
line(x+100,y+13,x+121,y+13);
line(x+100,y+13,x+121,y+16);
end;

begin
gd:=vga; gm:=vgamed;
initgraph(gd,gm,'c:\tp7\bgi');

x:=300; y:=100;
z:=1; viz:=1; akt:=0; p:=pi; a:=230; b:=110;
for i:=1 to 100 do
begin
u:=x+round(a*cos(p));
t:=y-round(b*sin(p));
setvisualpage(viz); setactivepage(akt);
delay(10000); cleardevice; nebo;
if z=1 then robot(u,t) else robot1(u,t+30); z:=-z;
delay(40000); p:=p+step;
if viz=0 then viz:=1 else viz:=0;
if akt=0 then akt:=1 else akt:=0;
end;
repeat until keypressed;
closegraph;
end.

DDS 24.12.2009 18:08

Похвально. Очень хорошо, мне понравилось.

HD-boy 24.12.2009 18:13

Спасибо) Учителю тоже понравилось) Да и самому тоже)


Часовой пояс GMT +4, время: 01:22.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.