1. Заголовок темы должен быть информативным. В противном случае тема удаляется ... 2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения. 3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали! 4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора). 5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM! 6. Одна тема - один вопрос (задача) 7.Проверяйте программы перед тем, как разместить их на форуме!!! 8.Спрашивайте и отвечайте четко и по существу!!!
помогите переделать написану мной программу. чтобы я мог ввести радиус и 5угольник менялся с нем
program z2; uses crt, graph; var dr,mode,i,n,r:integer; begin randomize; dr:=detect; mode:=0; initgraph(dr,mode,'c:\tp\bgi'); circle(300,240,50); moveto(300,190); lineto(350,230); lineto(225,283); lineto(275,283); lineto(250,230); lineto(300,190); r:=0; n:=2; for i:=0 to 70 do begin delay(45000); if i=r then if n=1 then begin cleardevice; circle(300,240,50); setfillstyle(1,random(r+1)); floodfill(290,192,white); moveto(300,190); lineto(350,230); lineto(325,283); lineto(275,283); lineto(250,230); lineto(300,190); setfillstyle(1,random®); floodfill(300,240,white); n:=2;r:=r+10; end else if n=2 then begin cleardevice; circle(300,240,50); setfillstyle(1,random®); floodfill(290,192,white); moveto(300,290); lineto(255,260); lineto(270,200); lineto(330,200); lineto(345,260); lineto(300,290); setfillstyle(1,random®); floodfill(300,240,white); n:=1; r:=r+10; end; end; readln; closegraph; end.
Если б ты еще задание привел, то было бы вообще прекрасно... Тебе что, надо в разноцветном круге крутить разноцветный пятиугольник? Тогда смотри в сторону DrawPoly/FillPoly, и не надо жестко задавать точки, достаточно их высчитывать перед отрисовкой. Вот набросок, добавишь закрашивание круга:
program z2;
uses crt, graph;
const points = 5; var T: pointtype; pts: array[1 .. points + 1] of pointtype; centerx, centery, C, i, j, R: integer; angle, start_angle: real;
gd, gm: integer;
begin r := 100; { <--- Можешь и вводить }
randomize; gd := detect; initgraph(gd, gm, '');
centerx := getmaxx div 2; centery := getmaxy div 2;
for i := 1 to 5 do begin cleardevice; setcolor(white); circle(centerx, centery, R); { <--- Здесь надо закрасить круг нужным цветом }
if odd(i) then start_angle := 54 else start_angle := 18; for j := 1 to points do begin angle := (start_angle + pred(j) * (360 div points)) * (Pi / 180); pts[j].X := centerx + trunc(R * cos(angle)); pts[j].Y := centery + trunc(R * sin(angle)); end; pts[points + 1] := pts[1];
C := random(16); setfillstyle(solidfill, C); fillpoly(points + 1, pts);
delay(1000); end; readln; closegraph; end.
(проверялось в Турбо Паскале. В 32-битных работает не совсем корректно, так что просьба обладателей FPC сразу не кидаться камнями, этот код - именно для Турбо)
Я не знаю, почему у тебя не крутит, и рисует только круг. У меня отрабатывает как я написал. Попробуй увеличить задержку (до 25000, скажем), может ты просто не видишь процесса вращения. Но пятиугольник обязан был отрисоваться в любом случае.
trew, ты давай немного больше информации по проблеме, если хочешь получить ответ. Мне кажется, это в твоих интересах. И так народ в этой теме гадает, что тебе нужно, по твоим крайне невразумительным фразам..
--------------------
я - ветер, я северный холодный ветер я час расставанья, я год возвращенья домой