Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
6 / 3 / 0
Регистрация: 09.08.2013
Сообщений: 143
1

Движение фигуры по прямой

09.02.2014, 15:28. Показов 1246. Ответов 2
Метки нет (Все метки)

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
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
uses crt,graph;
 
procedure Draw1(x,y,c:integer);
 const
  dx:=5;
  dy:=5;
begin
setcolor(c);
 MoveTo(x,y);
  LineTo(x+2*dx,y-4*dy);
  LineTo(x+4*dx,y);
  LineTo(x,y);
setfillstyle(1,c);
floodfill(x,y,c);
end;
 
 
procedure Draw2(x,y,c:integer);
 const  
  dx:=5;
  dy:=5;
begin
 setcolor(c);
 Circle(x+2*dx,y-5*dy,Trunc(dx/2));
 setfillstyle(1,c);
 floodfill(x,y,c);
end;
 
procedure Draw3(x,y,c:integer);
 const  
  dx:=5;
  dy:=5;
begin
 setcolor(c);
 Circle(x-1*dx,y+1*dy,Trunc(dx/2));
 setfillstyle(1,c);
 floodfill(x,y,c);
end;
 
procedure Draw4(x,y,c:integer);
 const  
  dx:=5;
  dy:=5;
begin
 setcolor(c);
 Circle(x+4*dx,y+1*dy,Trunc(dx/2));
 setfillstyle(1,c);
 floodfill(x,y,c);
end;
 
var x,y:integer;
begin
initgraph(x,y,'');
x:=20;
y:=20;
Draw1(x,y,14);
Draw2(x,y,9);
Draw3(x,y,10);
Draw4(x,y,5);
repeat
while (x<=getmaxX-20)and not keypressed do
 begin
  delay(50);
  Draw1(x,y,0);
  Draw2(x,y,0);
  Draw3(x,y,0);
  x:=x+10;
  Draw1(x,y,14);
  Draw2(x,y,9);
  Draw3(x,y,10);
  Draw4(x,y,5);
 end;
until keypressed;
end.
Изображения
 
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.02.2014, 15:28
Ответы с готовыми решениями:

Реализовать движение фигуры (или введенного слова) по прямой с отскоком от границ экрана
Всем доброго времени суток, помогите решить пожалуйста... Движение фигуры (или введенного слова)...

Движение точки по прямой
Господа, помогите написать текст программы, в которой бы точка(небольшая окружность) двигалась: 1...

Движение тела по прямой с определенной скоростью
Суть такая. Летит вертолет, со скоростью v. Он выпускает ловушки со скоростью 2v. Известны углы,...

Движение фигуры по нажатию на клавиши-стрелки
Нужно чтобы фигура двигались по нажатию стрелок. Точка, круг и эллипс двигаются нормально, а вот...

2
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
09.02.2014, 17:15 2
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
uses crt,graph;
procedure figure(x,y,c1,c2,c3,c4:integer);
var p:array[1..4] of pointtype;
    r,d,i:integer;
    u:real;
begin
u:=pi/2;
r:=20;
d:=5;
for i:=1 to 4 do
 begin
  p[i].x:=x+round(r*cos(u));
  p[i].y:=y-round(r*sin(u));
  u:=u+2*pi/3
 end;
setcolor(c1);
setfillstyle(1,c1);
drawpoly(4,p);
floodfill(x,y,c1);
setcolor(c2);
setfillstyle(1,c2);
fillellipse(p[1].x,p[1].y-d,d,d);
setcolor(c3);
setfillstyle(1,c3);
fillellipse(p[2].x-d+2,p[2].y+d-2,d,d);
setcolor(c4);
setfillstyle(1,c4);
fillellipse(p[3].x+d-2,p[3].y+d-2,d,d);
end;
 
var x,y:integer;
begin
initgraph(x,y,'');
x:=30;
y:=getmaxY div 2;
figure(x,y,14,11,13,10);
repeat
while (x<=getmaxX-30)and not keypressed do
 begin
  delay(50);
  figure(x,y,0,0,0,0);
  x:=x+3;
  figure(x,y,14,11,13,10);
 end;
until keypressed;
end.
1
6 / 3 / 0
Регистрация: 09.08.2013
Сообщений: 143
09.02.2014, 17:29  [ТС] 3
Класс! Спасибо!
0
09.02.2014, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2014, 17:29
Помогаю со студенческими работами здесь

Движение фигуры, которая оставляет след
вот камаз мой: programm XO; uses graph,dos,crt; var X,Y;Integer; begin X:=datect;...

Движение фигуры и отскок от краев экрана
Привет всем! Пишу прогу по кг, нужно чтоб квадратик бегал по экрану и отбивался от краев...

Движение прямой
Составить программу, отображающую вращение прямой. Прога: #include&lt;iostream.h&gt;...

Движение по прямой
Собственно, вопрос состоит в том, как сделать чтобы picturBox двигалась от одной точки к другой в...


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

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