IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> графика, нужно доделать
trew
сообщение 26.11.2008 12:35
Сообщение #1


Пионер в программировании
**

Группа: Пользователи
Сообщений: 66
Пол: Мужской

Репутация: -  0  +


помогите переделать написану мной программу. чтобы я мог ввести радиус и 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.

.



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
Ozzя
сообщение 26.11.2008 13:11
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Цитата
5угольник менялся с нем

менялся с кем? и Как менялся?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
trew
сообщение 26.11.2008 13:56
Сообщение #3


Пионер в программировании
**

Группа: Пользователи
Сообщений: 66
Пол: Мужской

Репутация: -  0  +


десь в задаче радиус не надо вводить. а надо сделать чтобы мог. когда введу то 5угольник тоже должен изменится
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.11.2008 15:55
Сообщение #4


Гость






Если б ты еще задание привел, то было бы вообще прекрасно... Тебе что, надо в разноцветном круге крутить разноцветный пятиугольник? Тогда смотри в сторону 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 сразу не кидаться камнями, этот код - именно для Турбо)
 К началу страницы 
+ Ответить 
trew
сообщение 1.12.2008 19:06
Сообщение #5


Пионер в программировании
**

Группа: Пользователи
Сообщений: 66
Пол: Мужской

Репутация: -  0  +


почемуто не крутит и вообще просто круг рисует
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 1.12.2008 19:12
Сообщение #6


Гость






Я не знаю, почему у тебя не крутит, и рисует только круг. У меня отрабатывает как я написал. Попробуй увеличить задержку (до 25000, скажем), может ты просто не видишь процесса вращения. Но пятиугольник обязан был отрисоваться в любом случае.

Сообщение отредактировано: volvo - 1.12.2008 19:18
 К началу страницы 
+ Ответить 
trew
сообщение 7.12.2008 20:47
Сообщение #7


Пионер в программировании
**

Группа: Пользователи
Сообщений: 66
Пол: Мужской

Репутация: -  0  +


не рисует
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 8.12.2008 11:18
Сообщение #8


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(trew @ 7.12.2008 20:47) *
не рисует
В следующем посте, по-видимому, будет просто "не" smile.gif

trew, ты давай немного больше информации по проблеме, если хочешь получить ответ. Мне кажется, это в твоих интересах. И так народ в этой теме гадает, что тебе нужно, по твоим крайне невразумительным фразам..


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 13:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"