Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Одинокий_Волк

Программа рисующая определенный рисунок

30.10.2012, 11:09. Показов 1246. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте помогите разобраться, только начал изучать делфи вот у меня есть код программы(недописанный) подскажите как сделать так чтобы она рисовала снежинку по нажатию кнопки либо пользователь задает число веток и витков в заранее спасибо.Вот сам код

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program primer_8;
{$S+}
Uses graph,crt;
label 1,2;
var x,y,a,b,p,n:integer;
t,l:real;
g:char;
procedure snow(x,y,k:integer;l:real);
var x1,y1:integer;
i:integer;
begin
if k=0 then exit;
for i:=1 to p do
begin
x1:=trunc(x+l*cos(2*pi*(i-1)/p));
y1:=trunc(y+l*sin(2*pi*(i-1)/p));
if (x1>640) or (y1>480) or (x1<0) or (y1<0) then begin
outtextxy(10,10,'Sorry, picture not on the screen !!!');
outtextxy(10,20,'Press any key for exit');
end;
if keypressed then halt;
line(x,y,x1,y1);
snow(x1,y1,k-1,l*t);
end;
end;
begin
x:=320;
y:=240;
g:='y';
write('Demo ? [Y/N] - '); readln(g);
if g='y'
  then
     begin  n:=3; p:=6; l:=100; t:=0.25; goto 1; end;
write('n='); readln(n);
if (n<=0) or (n>20)
   then
      begin write('No!');readln;goto 2; end;
write('p='); readln(p);
if (p<=0) or (p>50)
  then
    begin write('No!');readln;goto 2; end;
write('l= ');readln(l);
if (l<=0) or (l>250)
  then
    begin write('No!');readln;goto 2; end;
write('t='); readln(t);
1:a:=detect; b:=detect;
initgraph(a,b,'c:\lg\bgi');
snow(x,y,n,l);
readkey;
closegraph;
2:end.
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.10.2012, 11:09
Ответы с готовыми решениями:

программа рисующая заданное кол-во квадратов
Создать программу, рисующую заданное количество квадратов, вложенных друг в друга. Каждый следующй квадрат повернут на несколько градусов...

Программа, рисующая окружности
Здравствуйте. Есть программа, которая рисует движущиеся окружности: #include &lt;TXLib.h&gt; #include &lt;cstdlib&gt; #include...

программа,рисующая дома и т.д
написать программу,включающую в себя: а) фон(дома,деревтья,дорога,небо) б) движущиеся объекты (автомобиль,самолет)

2
4194 / 1840 / 223
Регистрация: 06.10.2010
Сообщений: 4,127
30.10.2012, 17:12
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const
  p=6;
  t=0.25;
 
procedure snow(x,y,k:integer;l:real);
var
  x1,y1,i: integer;
begin
  if k=0 then
    exit;
  for i:=1 to p do
  begin
    x1:=trunc(x+l*cos(2*pi*(i-1)/p));
    y1:=trunc(y+l*sin(2*pi*(i-1)/p));
    Form1.Canvas.MoveTo(x,y);
    Form1.Canvas.LineTo(x1,y1);
    snow(x1,y1,k-1,l*t);
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  snow(Form1.ClientWidth shr 1,Form1.ClientHeight shr 1,3,100);
end;
0
Одинокий_Волк
30.10.2012, 21:41
Цитата Сообщение от murderer Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
const
  p=6;
  t=0.25;
 
procedure snow(x,y,k:integer;l:real);
var
  x1,y1,i: integer;
begin
  if k=0 then
    exit;
  for i:=1 to p do
  begin
    x1:=trunc(x+l*cos(2*pi*(i-1)/p));
    y1:=trunc(y+l*sin(2*pi*(i-1)/p));
    Form1.Canvas.MoveTo(x,y);
    Form1.Canvas.LineTo(x1,y1);
    snow(x1,y1,k-1,l*t);
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  snow(Form1.ClientWidth shr 1,Form1.ClientHeight shr 1,3,100);
end;
как я понял это часть кода
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.10.2012, 21:41
Помогаю со студенческими работами здесь

Программа рисующая елку
Помогите пожалуйста! Надо нарисовать на паскале самую простую елку неважно сколько будет веток. У нас учитель очень плохо объясняет. ...

Программа рисующая паровоз
Здраствуйте, необходима помощь в решении следующей задачи: Написать программу, которая рисует на экране паровоз (используйте метод...

Программа рисующая на экране
Написать программу, рисующая на экране 3 буквы и 343 цифры, составленные из вертикальных, горизонтальных и диагональных линий.

Программа, рисующая дом
Данная программа нарисует дом, введите следующее: Uses graphABC; begin line(100,100,150,50); line(150,50,200,100); ...

Программа рисующая пирамидку
Нужно создать программу которая рисует пирамиду символами # в зависимости от введённого числа. Вводим: 5 ........# .......## ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru