С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/79: Рейтинг темы: голосов - 79, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
1

Как Нарисовать гриб в ПАСКАЛЬ

08.11.2012, 17:42. Показов 14707. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Чет я рисую не то видать
Pascal
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
 Uses Graph;
 
Var grDriver : Integer;
      grMode : Integer;
     ErrCode : Integer;
 
Begin
 grDriver:=Detect;
 InitGraph(grDriver, grMode, 'E:\PAS\PASCAL\BIN');
 ErrCode:=GraphResult;
 If ErrCode = grOk Then
  Begin
   { ѓа*дЁЄ* }
   circle(340,160,10);
         circle(370,190,10);
    circle(300,150,10);
        circle(230,190,10);
       circle(260,160,10);
      circle(300,190,10);
     circle(335,190,10);
    circle(265,190,10);
    line(195,213,405,213);
   arc(300,230,9,170,105);
   Ellipse(300,270,164, 16, 30, 205);
   ReadLn;
   CloseGraph;
  End
Else WriteLn('ЋиЁЎЄ* Ё*ЁжЁ*«Ё§*жЁЁ Ја*дЁЄЁ:', GraphErrorMsg(ErrCode));
End.                 >
и как израдактора скинуть сюда код?
Вложения
Тип файла: docx Грибочки.docx (38.0 Кб, 68 просмотров)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Блог
08.11.2012, 17:42
Ответы с готовыми решениями:

Нарисовать гриб
Нарисовать окрашенную фигуру - гриб. В задании всё написано. Там неважно по координатам или нет....

Нарисовать рисунок в турбо паскаль
Вот такой

Нарисовать робота на языке Паскаль
помогите пожалуйста нарисовать робота на языке паскаль!

Нарисовать график sin(x) Паскаль
Мальчики нашей группе дали решить задучу помогите пожалуйста вся надежда на вас :(. Вот она : ...

13
Дзæуджыхъæу
232 / 204 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
08.11.2012, 19:49 2
Цитата Сообщение от Маэстро Посмотреть сообщение
Pascal
1
2
grDriver:=Detect;
InitGraph(grDriver, grMode, 'E:\PAS\PASCAL\BIN');
добавь еще grMode:=Detect; перед initgraph ...
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
08.11.2012, 19:57 3
Маэстро, А в чем проблема? И так все работает, но я бы выкинул лишнее.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Uses Graph;
 
Var grDriver : Integer;
      grMode : Integer;
 
Begin
 InitGraph(grDriver, grMode, '');
 circle(340,160,10);
 circle(370,190,10);
 circle(300,150,10);
 circle(230,190,10);
 circle(260,160,10);
 circle(300,190,10);
 circle(335,190,10);
 circle(265,190,10);
 line(195,213,405,213);
 arc(300,230,9,170,105);
 Ellipse(300,270,164, 16, 30, 205);
 ReadLn
End.
0
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
09.11.2012, 07:11  [ТС] 4
Дело в том что гриб должен быть цветным, а вот с этим. Что для этого надо, кто говорит что нужно разбить фигуру на детали и как то там что то потом вставлять в другом окне. Может кто подскажет что надо сделать? может я фигуры неправильно нарисовал?

Добавлено через 10 минут
Цитата Сообщение от domovou2.0 Посмотреть сообщение
добавь еще grMode:=Detect; перед initgraph ...
Это для чего? Какую функцию выполняет?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
09.11.2012, 08:11 5
Цитата Сообщение от Маэстро Посмотреть сообщение
Дело в том что гриб должен быть цветным,
А можно это было написать сразу вместо
Цитата Сообщение от Маэстро Посмотреть сообщение
Чет я рисую не то видать
Pascal
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
Uses Graph;
 
Var grDriver : Integer;
      grMode : Integer;
 
Begin
 InitGraph(grDriver, grMode, '');
 line(195,213,405,213); {обведем ножку белым}
 Ellipse(300,270,164, 16, 30, 205);
 Setfillstyle(1,15);  {покрасим в белый цвет}
 floodfill(300,270,15);
 setcolor(12); {обведем шляпку красным}
 line(195,213,405,213);
 arc(300,230,9,170,105);
 Setfillstyle(1,12);  {покрасим в красный цвет}
 floodfill(300,210,12);
 setcolor(15);
 circle(340,160,10);{нврисуем белые пятна}
 circle(370,190,10);
 circle(300,150,10);
 circle(230,190,10);
 circle(260,160,10);
 circle(300,190,10);
 circle(335,190,10);
 circle(265,190,10);
 Setfillstyle(1,15);
 floodfill(340,160,15);
 floodfill(370,190,15);
 floodfill(300,150,15);
 floodfill(230,190,15);
 floodfill(260,160,15);
 floodfill(300,190,15);
 floodfill(335,190,15);
 floodfill(265,190,15);
 ReadLn
End.
1
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
09.11.2012, 20:45  [ТС] 6
Очень интересно ОЧЕНЬ!!! Только вот возникаю вопросы с математической прогрессией)))) Я чтобы понять что к чему сижу меняю разные числа. Уже ногу перекрасил, не понял только как ты ее белым обвел

Добавлено через 22 минуты
и еще вопрос что такое "floodfill" и где можно посмотреть какие еще бывают значения. Если не трудно конечно. Очень надо. так как делаю впервые такое и испытываю трудности.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
10.11.2012, 07:45 7
Цитата Сообщение от Маэстро Посмотреть сообщение
и еще вопрос что такое "floodfill" и где можно посмотреть какие еще бывают значения
А в хелп Паскаля не пробовал посмотреть? Или в учебники какие?
1
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
18.11.2012, 16:28  [ТС] 8
Почитал и все нашел вот что получилось


Pascal
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Uses Graph;
 
Var grDriver : Integer;
      grMode : Integer;
Begin
 InitGraph(grDriver, grMode, '');
 line(195,213,405,213);
 Ellipse(300,270,164, 16, 30, 205);
 Setfillstyle(1,8);
 floodfill(300,270,15);
 setcolor(12);
 line(195,213,405,213);
 arc(300,230,9,170,105);
 Setfillstyle(1,12);
 floodfill(300,210,12);
 setcolor(15);
 circle(340,160,10);
 circle(370,190,10);
 circle(300,150,10);
 circle(230,190,10);
 circle(260,160,10);
 circle(300,190,10);
 circle(335,190,10);
 circle(265,190,10);
 Setfillstyle(1,15);
 floodfill(340,160,15);
 floodfill(370,190,15);
 floodfill(300,150,15);
 floodfill(230,190,15);
 floodfill(260,160,15);
 floodfill(300,190,15);
 floodfill(335,190,15);
 floodfill(265,190,15);
          Begin
               line(50,80,100,80);
               Ellipse(75,93,162, 16, 10, 45);
               Setfillstyle(1,7);
               floodfill(75,93,15);
               setcolor(12);
               line(50,80,100,80);
               arc(75,83,9,170,25);
               Setfillstyle(1,12);
               floodfill(75,77,12);
               setcolor(15);
               circle(75,65,2);
               circle(75,75,2);
               circle(57,75,2);
               circle(93,75,2);
               circle(66,75,2);
               circle(84,75,2);
               circle(66,67,2);
               circle(84,67,2);
               Setfillstyle(1,15);
               floodfill(75,65,15);
               floodfill(75,75,15);
               floodfill(57,75,15);
               floodfill(93,75,15);
               floodfill(66,75,15);
               floodfill(84,75,15);
               floodfill(66,67,15);
               floodfill(84,67,15);
          End;
               Begin
                line(550,80,600,80);
               Ellipse(575,93,162, 16, 10, 45);
               Setfillstyle(1,7);
               floodfill(575,93,15);
               setcolor(12);
               line(550,80,600,80);
               arc(575,83,9,170,25);
               Setfillstyle(1,12);
               floodfill(575,77,12);
               setcolor(15);
               circle(575,65,2);
               circle(575,75,2);
               circle(557,75,2);
               circle(593,75,2);
               circle(566,75,2);
               circle(584,75,2);
               circle(566,67,2);
               circle(584,67,2);
               Setfillstyle(1,15);
               floodfill(575,65,15);
               floodfill(575,75,15);
               floodfill(557,75,15);
               floodfill(593,75,15);
               floodfill(566,75,15);
               floodfill(584,75,15);
               floodfill(566,67,15);
               floodfill(584,67,15)
               End;
                    Begin
               line(50,400,100,400);
               Ellipse(75,413,162, 16, 10, 45);
               Setfillstyle(1,7);
               floodfill(75,413,15);
               setcolor(12);
               line(50,400,100,400);
               arc(75,403,9,170,25);
               Setfillstyle(1,12);
               floodfill(75,397,12);
               setcolor(15);
               circle(75,395,2);
               circle(75,385,2);
               circle(57,395,2);
               circle(93,395,2);
               circle(66,395,2);
               circle(84,395,2);
               circle(66,387,2);
               circle(84,387,2);
               Setfillstyle(1,15);
               floodfill(75,395,15);
               floodfill(75,385,15);
               floodfill(57,395,15);
               floodfill(93,395,15);
               floodfill(66,395,15);
               floodfill(84,395,15);
               floodfill(66,387,15);
               floodfill(84,387,15);
          End;
 ReadLn
End.
Добавлено через 1 минуту
так то все просто если есть хотя бы приблизительный шаблон. Еще один вопрос есть как анимацию на эту прогу сделать
0
Дзæуджыхъæу
232 / 204 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
19.11.2012, 10:59 9
анимация заключается в том что Вы рисуете гриб в цикле стираете и перемешаете на новые координаты
но в данном случае лучше изображение занести в память, а потом его вставлять на новые координаты
0
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
20.11.2012, 22:46  [ТС] 10
В смысле в память?
0
Дзæуджыхъæу
232 / 204 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
21.11.2012, 10:50 11
imagesize (x1,y1,x2,y2):word - возраш размер памяти в байтах необход для размеш прямоугол фрагмента
GetImage(x1,y1,x2,y2:integer; var BUF)- помеш в память копию прямоугол фраг изображ, Buf - перем или участок кучи
putImage(x,y:integer;var buf, mode:worde) - выводит в заданное место изображение ранее помешенное в память и заместо mode - поставь 1.
0
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
21.11.2012, 18:08  [ТС] 12
Цитата Сообщение от domovou2.0 Посмотреть сообщение
imagesize (x1,y1,x2,y2):word - возраш размер памяти в байтах необход для размеш прямоугол фрагмента
GetImage(x1,y1,x2,y2:integer; var BUF)- помеш в память копию прямоугол фраг изображ, Buf - перем или участок кучи
putImage(x,y:integer;var buf, mode:worde) - выводит в заданное место изображение ранее помешенное в память и заместо mode - поставь 1.
Это для анимации уже применяется?
0
Дзæуджыхъæу
232 / 204 / 148
Регистрация: 20.09.2012
Сообщений: 421
Записей в блоге: 1
21.11.2012, 19:43 13
Pascal
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Uses Graph,crt;
 
Var grDriver : Integer;
      grMode : Integer;
      saucer:pointer;
      size:integer;
      x,y,x1,y1:integer;
Begin
 InitGraph(grDriver, grMode, 'c:\bp\bgi');
 rectangle(180,100,450,getmaxy);
 
 line(195,213,405,213);
 Ellipse(300,270,164, 16, 30, 205);
 Setfillstyle(1,8);
 floodfill(300,270,15);
 setcolor(12);
 line(195,213,405,213);
 arc(300,230,9,170,105);
 Setfillstyle(1,12);
 floodfill(300,210,12);
 setcolor(15);
 circle(340,160,10);
 circle(370,190,10);
 circle(300,150,10);
 circle(230,190,10);
 circle(260,160,10);
 circle(300,190,10);
 circle(335,190,10);
 circle(265,190,10);
 Setfillstyle(1,15);
 floodfill(340,160,15);
 floodfill(370,190,15);
 floodfill(300,150,15);
 floodfill(230,190,15);
 floodfill(260,160,15);
 floodfill(300,190,15);
 floodfill(335,190,15);
 floodfill(265,190,15);
          Begin
               line(50,80,100,80);
               Ellipse(75,93,162, 16, 10, 45);
               Setfillstyle(1,7);
               floodfill(75,93,15);
               setcolor(12);
               line(50,80,100,80);
               arc(75,83,9,170,25);
               Setfillstyle(1,12);
               floodfill(75,77,12);
               setcolor(15);
               circle(75,65,2);
               circle(75,75,2);
               circle(57,75,2);
               circle(93,75,2);
               circle(66,75,2);
               circle(84,75,2);
               circle(66,67,2);
               circle(84,67,2);
               Setfillstyle(1,15);
               floodfill(75,65,15);
               floodfill(75,75,15);
               floodfill(57,75,15);
               floodfill(93,75,15);
               floodfill(66,75,15);
               floodfill(84,75,15);
               floodfill(66,67,15);
               floodfill(84,67,15);
          End;
               Begin
                line(550,80,600,80);
               Ellipse(575,93,162, 16, 10, 45);
               Setfillstyle(1,7);
               floodfill(575,93,15);
               setcolor(12);
               line(550,80,600,80);
               arc(575,83,9,170,25);
               Setfillstyle(1,12);
               floodfill(575,77,12);
               setcolor(15);
               circle(575,65,2);
               circle(575,75,2);
               circle(557,75,2);
               circle(593,75,2);
               circle(566,75,2);
               circle(584,75,2);
               circle(566,67,2);
               circle(584,67,2);
               Setfillstyle(1,15);
               floodfill(575,65,15);
               floodfill(575,75,15);
               floodfill(557,75,15);
               floodfill(593,75,15);
               floodfill(566,75,15);
               floodfill(584,75,15);
               floodfill(566,67,15);
               floodfill(584,67,15)
               End;
                    Begin
               line(50,400,100,400);
               Ellipse(75,413,162, 16, 10, 45);
               Setfillstyle(1,7);
               floodfill(75,413,15);
               setcolor(12);
               line(50,400,100,400);
               arc(75,403,9,170,25);
               Setfillstyle(1,12);
               floodfill(75,397,12);
               setcolor(15);
               circle(75,395,2);
               circle(75,385,2);
               circle(57,395,2);
               circle(93,395,2);
               circle(66,395,2);
               circle(84,395,2);
               circle(66,387,2);
               circle(84,387,2);
               Setfillstyle(1,15);
               floodfill(75,395,15);
               floodfill(75,385,15);
               floodfill(57,395,15);
               floodfill(93,395,15);
               floodfill(66,395,15);
               floodfill(84,395,15);
               floodfill(66,387,15);
               floodfill(84,387,15);
          End;
  size:=imagesize(180,100,450,getmaxy);
   getmem(saucer,size);
   getimage(180,100,450,getmaxy,saucer^);
   putimage(random(getmaxx),random(getmaxy),saucer^,xorput);
   repeat
   putimage(random(getmaxx),random(getmaxy),saucer^,xorput);
    delay(50);
   until keypressed ;
 
 ReadLn
End.
только надо сдесь еше добавить изменение координат плавно что бы это было похоже на анимацию
1
0 / 0 / 0
Регистрация: 26.06.2012
Сообщений: 18
22.11.2012, 07:12  [ТС] 14
Вот это уже что-то класс!!! Как выставлю координаты покажу что получилось
0
22.11.2012, 07:12
BasicMan
Эксперт
19315 / 2622 / 84
Регистрация: 17.02.2009
Сообщений: 10,364
Блог
22.11.2012, 07:12
Помогаю со студенческими работами здесь

Графика в Турбо Паскаль. Нарисовать телефон
Кто может нарисовать такое??

Графика в Турбо Паскаль. Нарисовать мобильный телефон
Помогите написать графику.Нужно нарисовать мобильный телефон

Графика в Турбо Паскаль. Нарисовать флаг Македонии
Помогите пожалуста, нужно нарисовать флаг Македонии у паскале.

нарисовать график (с помощью модуля GRAPH в паскаль)
у меня есть программка....очь простая.....но причина в том что мне к ней нужно нарисовать график (с...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru