![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 30.05.2010
Сообщений: 9
|
![]()
В общем, нужно нарисовать цилиндр в паскале, и так, что бы он отображался при выборе задачи. вот то, что есть:
uses crt, graph; const p:array[1..7] of string =('Cilindr','PrSter','Ravno','PrPla nka','Ster','Snravka','exit'); var d:boolean; Gd,Gm:integer; x1,x2,y1,y2,z,i,j:integer; s:char; procedure menu; begin rectangle(0,0,639,450); setfillstyle(11,1); bar(1,1,638,449); y1:=1; x2:=80; y2:=20; for i:=1 to 7 do begin setcolor(3); rectangle(1,y1,x2,y2); setfillstyle(1,6); bar(2,y1+1,x2-1,y2-1); setcolor(15); line(0,y2+1,81,y2+1); y1:=y1+21; y2:=y2+21 end; setcolor(10); x1:=7; y1:=1; x2:=80; y2:=20; j:=9; for i:=1 to 7 do begin if z=i then begin setfillstyle(1,9); bar(1,y1,x2,y2); setcolor(15); if i=7 then j:=24 else j:=9; outtextxy(j,x1,p[i]); end else if i=7 then j:=24 else j:=9; outtextxy(j,x1,p[i]); x1:=x1+21; y1:=y1+21; y2:=y2+21; rectangle(100,20,400,200); setfillstyle(7,1); bar(101,21,399,199); case z of 1:begin outtextxy(108,28,'umova 1'); outtextxy(107,36,''); end; 2:begin outtextxy(108,28,'umova 2'); outtextxy(102,36,''); end; 3:begin outtextxy(108,28,'umova 3'); end; 4:begin outtextxy(108,28,'umova 4'); outtextxy(107,36,''); outtextxy(107,44,''); outtextxy(107,60,''); outtextxy(107,68,''); end; 5:begin outtextxy(107,28,'umova 5'); end; 6:begin outtextxy(107,28,'Spravka po programi'); end; 7:begin outtextxy(107,28,'Zavershennya roboti'); end; end; end; setcolor(15); line(81,0,81,147); if s<>#0 then s:=readkey; end; procedure vixod; begin if s=#13 then halt; end; procedure triugolnik; const Y = 220; var g: Pointer; t: Word; begin setfillstyle(1,0); bar(0,0,640,480); Line(0, Y, 0, Y+30); Line(0, Y+30, 30, Y+15); Line(30, Y+15, 0, Y); GetMem(g, ImageSize(0, Y, 30, Y+30)); GetImage(0, Y, 30, Y+30, g^); OutTextXY(50,440,'dli vixoda nagmite lubui klavihu'); t := 0; While ( (not KeyPressed)and(t+30 <= GetMaxX) ) do begin PutImage(t, Y, g^, XORPUT); t := t + 1; PutImage(t, Y, g^, XORPUT); Delay(1000) end; PutImage(t-1, Y, g^, XORPUT); readkey; menu end; procedure krug; var pp:array[1..9] of pointtype; c,v:word; r,xm,ym:integer; begin rectangle(120,90,300,190); setfillstyle(7,0); bar(121,91,299,189); outtextxy(127,99,'vvedite F= '); gotoxy(33,7); read(r); rectangle(120,90,300,190); setfillstyle(7,0); bar(121,91,299,189); outtextxy(127,99,'vvedite P= '); gotoxy(33,7); read(r); setfillstyle(1,0); bar(0,0,640,480); xm:=300; ym:=239; circle(xm,ym,r); pp[1].x:=xm+r; pp[1].y:=ym; pp[2].x:=xm+round(sqrt(sqr(r)/2)); pp[2].y:=ym-round(sqrt(sqr(r)/2)); pp[3].x:=xm; pp[3].y:=ym-r; pp[4].x:=xm-round(sqrt(sqr(r)/2)); pp[4].y:=ym-round(sqrt(sqr(r)/2)); pp[5].x:=xm-r; pp[5].y:=ym; pp[6].x:=xm-round(sqrt(sqr(r)/2)); pp[6].y:=ym+round(sqrt(sqr(r)/2)); pp[7].x:=xm; pp[7].y:=ym+r; pp[8].x:=xm+round(sqrt(sqr(r)/2)); pp[8].y:=ym+round(sqrt(sqr(r)/2)); pp[9]:=pp[1]; drawpoly(9,pp); xm:=xm+76; ym:=ym+16; OutTextXY(50,440,'dli vixoda nagmite lubui klavihu'); readkey; menu end; procedure perehod; begin while d= false do begin s:=readkey; while s=#80 do begin if z<7 then z:=z+1 else z:=1; menu end; while s=#72 do begin if z>1 then z:=z-1 else z:=7; menu end; while s=#13 do begin case z of 1:krug; 2..4:Perehod; 5:triugolnik; 6:Perehod; 7:vixod; end; end; end; end; begin clrscr; Gd:=detect; initGraph(Gd,Gm,'..\bgi '); z:=1; menu; perehod; readkey end. Куда поместить нарисований цилиндр ? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как нарисовать отрезок. | deadh5n1 | Помощь студентам | 1 | 20.04.2010 23:24 |
Как в аплете нарисовать цилиндр? | Лис_ | Общие вопросы по Java, Java SE, Kotlin | 0 | 28.12.2008 21:08 |
Как нарисовать картинку сбоку в меню как в Punto Switcher | Crazyman | Win Api | 4 | 26.09.2008 18:13 |
Помогите разобраться в поверхности: цилиндр это или нет | Taisja | Помощь студентам | 7 | 18.06.2008 21:12 |
OpenGL (цилиндр) | -=<[Evklidd]>=- | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 01.02.2008 13:51 |