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

Как реализовать одновременное движение двух объектов

29.12.2014, 17:24. Показов 2473. Ответов 4
Метки нет (Все метки)

Как реализовать одновременное движение двух объектов, один из которых управляется клавиатурой,а второй двигается сам. попрошу на примере.
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
uses crt,graph;
var
   a:char;
   d,m,x,y,x3,y3:integer;
 begin
 d:=0;
initgraph(m,d,'..');
x3:=300;y3:=400;
x:=20;y:=20;
circle(300,400,40);
               repeat
 
 
                     setcolor(white);
                     circle(x,y,20);
                     delay(10);
                     setcolor(black);
                     circle(x,y,20);
                     x:=x+1;
 
               until x>600;
                x:=600;
 
               repeat
 
                     setcolor(white);
                     circle(x,y,20);
                     delay(10);
                     setcolor(black);
                     circle(x,y,20);
                     x:=x-1;
 
               until x<40;
 
                   if keypressed then begin
                   a:=readkey;
 
                      repeat
                      setcolor(white);
                   circle(x3,y3,2);
                   setcolor(black);
                   delay(10);
                   circle(x3,y3,2);
                   x3:=x3-1;
                   y3:=y3-1;
                          until x>x3;
 
 
end;
end.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.12.2014, 17:24
Ответы с готовыми решениями:

Как реализовать движение нескольких объектов ?
Помогите, как реализовать одновременное движение двух кругов в турбо паскале?

Осуществите одновременное движение двух окружностей по горизонтали
Помогите пожалуйста не знаю как делать: С помощью динамической переменной осуществите...

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

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

4
Эксперт Pascal/Delphi
6803 / 4562 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
01.01.2015, 18:41 2
Лучший ответ Сообщение было отмечено Heavyweight как решение

Решение

Типа такого:
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
uses
  crt, graph;
var
  ch:char;
  xenemy,yenemy:integer;
  oldxenemy,oldyenemy:integer;
  xbullet,ybullet:integer;
  xcanon,ycanon:integer;
  oldxcanon,oldycanon:integer;
  canonsize:integer;
  enemysize:integer;
  gd,gm:integer;
begin
  gd:=detect;
  initgraph(gm,gd,'c:\bp\bgi');
  canonsize:=40;
  enemysize:=20;
  xenemy:=30;
  yenemy:=20;
  xcanon:=GetMaxX div 2;
  ycanon:=GetMaxY + canonsize div 2;
  circle(xcanon,ycanon,canonsize);
  circle(xenemy,yenemy,enemysize);
  { игровой цикл }
  while true do
    begin
      oldxcanon:=xcanon;
      oldycanon:=ycanon;
      if not keypressed then
        begin
          oldxenemy:=xenemy;
          oldyenemy:=yenemy;
          { движение врага }
          setcolor(red);
          circle(xenemy,yenemy,enemysize);
          delay(50);
          setcolor(black);
          circle(oldxenemy,oldyenemy,enemysize);
          xenemy:=xenemy+5;
          if xenemy>GetMaxX-enemysize then
            xenemy:=enemysize;
 
          yenemy:=yenemy;
        end
      else
        begin
          ch:=readkey;
          if ch=#27 then
            exit;
          if ch=#32 then
            begin
              {сюда вставить обработку выстрела по пробелу}
            end;
          if ch=#0 then
            ch:=readkey;
          case ch of
            #72:  { вверх}
              begin
                ycanon:=ycanon-1;
              end;
            #80:  { вниз}
              begin
                ycanon:=ycanon+1;
              end;
            #75:  { влево}
              begin
                xcanon:=xcanon-1;
              end;
            #77:  { вправо}
              begin
                xcanon:=xcanon+1;
              end;
          end; {of case}
          { движение пушки }
          setcolor(white);
          circle(xcanon,ycanon,canonsize);
          delay(1);
          setcolor(black);
          circle(oldxcanon,oldycanon,canonsize);
        end; { of else}
    end; {of while}
  readln;
  closegraph;
end.
1
1 / 1 / 0
Регистрация: 07.12.2014
Сообщений: 10
01.01.2015, 19:38  [ТС] 3
Огромное спасибо. С наступившим Новым годом! c:
0
Эксперт Pascal/Delphi
6803 / 4562 / 4817
Регистрация: 05.06.2014
Сообщений: 22,438
01.01.2015, 19:42 4
Heavyweight, спасибо и вас с Новым Годом.
Движение пули (ракеты) сами сделаете?
0
1 / 1 / 0
Регистрация: 07.12.2014
Сообщений: 10
01.01.2015, 19:55  [ТС] 5
Да, сам, еще раз большое спасибо.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.01.2015, 19:55
Помогаю со студенческими работами здесь

Одновременное движение двух объектов (на клавиатуре)
Всем доброго времени суток! В общем-то сабж - столкнулся с проблемой, что два игрока не могут...

Одновременное движение разных объектов
Добрый день, я пишу арканоид и столкнулся с такой проблемой: по отдельности у меня движутся мячик...

Одновременное движение двух картинок
Имеются две картинки Image1 и Image2 обна перемещается человеком тоесть мышкой, а другая в...

Одновременное движение двух контейнеров
Имеется код: package { import flash.display.*; import flash.events.*; //import flash.utils.*;...


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

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

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