0 / 0 / 0
Регистрация: 13.05.2010
Сообщений: 28
1

Анимация

21.06.2010, 16:16. Показов 806. Ответов 1
Метки нет (Все метки)

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
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
Uses Crt, Graph;
Var i,j,h,d,grDriver, grMode, ErrCode, st,s : Integer;
p:pointer;
size:word;
k:char;
x,y,err:integer;
 
 
procedure zap(x,y:integer);
   begin
    getImage(x,y,x+st*2,y+st*2,P^);
   end;
 
procedure treug(a,b,c,x1,y1:integer);
     begin
     setFillStyle(SolidFill,red);
     line(c+x1,y1,b+x1,y1);
     line(c+x1,y1,x1,c+y1);
     line(x1,c+y1,c+x1,c*2+y1);
     line(c+x1,c*2+y1,b+x1,c*2+y1);
     line(b+x1,c*2+y1,c*2+x1,a+y1);
     line(c*2+x1,a+y1,c*3+x1,c+y1);
     line(c*3+x1,c+y1,b+x1,y1);
     FloodFill(x1+d,y1+d+1,1);
     end;
 
  procedure vost(x,y:integer);
   begin
    PutImage(x, y, P^, CopyPut);
   end;
 
Begin
clrscr;
{$I-}repeat
 
  writeln('Введите сторону 6-угольника');
    readln(st);
    {$I+}
    err:=IoResult;
    if (err<>0) or (st<=0) or (st>180) then WriteLn('ощибка!!!');
    Until ((err=0) and (st>0) and (st<=180));
    h:=round(sqrt(sqr(st)-4));
    d:=round(st/2 );
 grDriver:=Detect;
 InitGraph(grDriver, grMode, '');
 ErrCode:=GraphResult;
 If ErrCode = grOk Then
  Begin
  randomize;
    cleardevice;
    x:=0;
    y:=0;
 
    J:=20;
    I:=20;
    repeat
    i:=20;
    repeat
 
    setfillstyle(1,2+random(10));
    fillellipse(i,j,20,20);
 
    I:=i+40;
    until i>640 ;
    J:=J+40
    until j>480 ;
 
    setcolor(1);
 
     Size:=ImageSize(x*2,y*2,x+st*2,y+st*2);
 
 
GetMem(P, Size);
zap(x,y);
 
repeat
k:=readkey;
vost(x,y);
 
if ord(k)=0 then
   begin
 
    k:=readkey;
 
    if (ord(k)=80)and(y+st<440) then
     y:=y+5;
 
    if (ord(k)=72) and (y>40) then
    y:=y-5;
 
    if (ord(k)=75)and(x>40) then
    x:=x-5;
 
    if (ord(k)=77)and(x+st+50<640) then
    x:=x+5;
 
    end;
 
 
zap(x,y);
treug(H,st,D,x,y);
 
Until ord(k)=27;
 
   FreeMem(P, Size);
     CloseGraph;
  End
 Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode));
End.
Тут в программе 6-угольник не правильный.
Помогите код переделать, нужно чтобы 6-угольник был правильный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2010, 16:16
Ответы с готовыми решениями:

Анимация
Уважаемы программисты, помогите пожалуйста сделать анимацию собачки, что бы она пробегала. Pascal...

Анимация
http://s46.***********/i113/0906/e3/3b608545e8ef.jpg

анимация
народ помогите мне доделать ! не пойму вроде все координаты правиль норащивал а не пашет(( uses...

Анимация
Можна маленький пример анимации? типа: Line(100,100,200,200); и чтобы она двигалась.Буду...

1
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.06.2010, 17:44 2
Правильный 6-угольник

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
type Tpoint=record
            x,y:integer;
            end;
var  i,x0,y0,R,gd,gm:integer;
     p:array[1..7]of TPoint;
     a,c1,c2:integer;
procedure Move(a,c:integer);
var i:integer;
begin
for i:=1 to 7 do
 begin
  p[i].x:=x0+round(R/2*cos(a*pi/180));
  p[i].y:=y0-round(R/2*sin(a*pi/180));
  a:=a+60;
  end;
p[7].x:=p[1].x;
p[7].y:=p[1].y;
MoveTo(p[1].x,p[1].y);
SetColor(c);
for i:=1 to 7 do
LineTo(p[i].x,p[i].y);
end;
0
21.06.2010, 17:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2010, 17:44
Помогаю со студенческими работами здесь

Анимация неба.
Необходимо чтобы туча двигалась по небу, т.е. горизонтально от левого края экрана к правому и...

Анимация в паскале
Смоделировать построение башни из 5 кубиков(квадратов)

Анимация, человечек
Программа человек , нужно сделать программу чтоб мы могли управлять человеком с помощью стрелок.

анимация графики
Всем привет.Приведите пожалуйста пример анимации.Ну чтот типа движении линии.Буду оч благодарен.

лёгкая анимация
помогите плиз можете написать код в котором просто по центру крутится белый круг с радиусом 5...

Анимация Солнца
Нужно нарисовать анимацию солнца в паскале, нужно чтобы оно крутилось и калапсировало. (сжималось и...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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