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

При движении квадрата стирать его из предыдущей позиции

30.03.2017, 21:15. Показов 686. Ответов 1
Метки нет (Все метки)

Здравствуйте,нужно поправить код, что бы после движения прошлый квадрат стирался. То есть что бы просто управлять одним квадратом.


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
uses GraphABC, Timers; 
 
var 
 x,y: integer; 
 dx: integer; 
 dy: integer; 
 speed: integer; 
procedure TimerProc; 
begin 
 Inc(x, dx); Inc(y, dy);
 SetBrushColor(clRed);
 Rectangle(x, y, x+50, y+50);
end; 
 
procedure KeyDown(Key: integer); 
begin 
 case Key of 
 VK_Escape: Halt; 
 VK_Left, VK_A: begin dx:=-speed-46; dy:=0; end; 
 VK_Right, VK_D: begin dx:=+speed+46; dy:=0; end; 
 VK_Up,VK_W: begin dy:=-speed-46; dx:=0; end; 
 VK_Down, VK_S: begin dy:=+speed+46; dx:=0; end;
 12, VK_X: begin dx:=0; dy:=0; end; 
 end; 
end; 
 begin 
 SetWindowSize(550,500); 
 x:=200;
 y:=300; 
 speed:=4; 
 OnKeyDown := KeyDown; 
 var objTimer := new Timer(400, TimerProc);
 objTimer.Start;
ClearWindow(clBlack);
      SetPenColor(clGray);
for var i := 1 to 10 do
      begin
        Line(0, i * 50, 550, i * 50);
        Line(i * 50, 0, i * 50, 500);
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.03.2017, 21:15
Ответы с готовыми решениями:

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

Следы от эллипса на форме при его движении (как здесь поможет многопоточность?)
При движении эллипс оставляет следы на форме. Мне посоветовали использовать два потока. Цитирую...

Определить максимальный угол между векторами скорости шарика при его движении.
Шарик брошен вверх под углом 60 к горизонту. Определить максимальный угол между векторами скорости...

Задание позиции открываемой формы, относительно предыдущей
Суть: Есть Форма1, на ней расположено множество кнопок имеющих динамический размер и положение...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32486 / 20972 / 8115
Регистрация: 22.10.2011
Сообщений: 36,242
Записей в блоге: 7
31.03.2017, 13:18 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
uses GraphABC, Timers; 
 
var
  x, y: integer; 
  dx: integer; 
  dy: integer; 
  speed: integer;
 
procedure TimerProc;
begin
  ClearWindow(clBlack);
  SetPenColor(clGray);
  for var i := 1 to 10 do
  begin
    Line(0, i * 50, 550, i * 50);
    Line(i * 50, 0, i * 50, 500);
  end;
  Inc(x, dx);Inc(y, dy);
  SetBrushColor(clRed);
  Rectangle(x, y, x + 50, y + 50);
  Redraw;
end;
 
procedure KeyDown(Key: integer);
begin
  case Key of 
    VK_Escape: Halt; 
    VK_Left, VK_A: begin dx := -speed - 46;dy := 0; end; 
    VK_Right, VK_D: begin dx := +speed + 46;dy := 0; end; 
    VK_Up, VK_W: begin dy := -speed - 46;dx := 0; end; 
    VK_Down, VK_S: begin dy := +speed + 46;dx := 0; end;
    12, VK_X: begin dx := 0;dy := 0; end; 
  end; 
end;
 
begin
  SetWindowSize(550, 500); 
  x := 200;
  y := 300; 
  speed := 4; 
  LockDrawing;
  OnKeyDown := KeyDown; 
  var objTimer := new Timer(400, TimerProc);
  objTimer.Start;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.03.2017, 13:18
Помогаю со студенческими работами здесь

Масса протона при движении и его масса покоя
Всем привет. Заранее прошу прощение за столь глупую тему, однако действительно нуждаюсь в помощи...

Поиск позиции квадрата числа в последовательности
Пытаюсь оптимизировать алгоритм для поиска простых чисел и возник вопрос в создании формулы,...

чему равен указатель текущей позиции файла при его открытии
чему равен указатель текущей позиции файла при его открытии?

Как сделать, чтобы в ListView при нажатии на позиции выводилось его название?
Добрый ночи такая небольшая проблема возникла как сделать чтобы в listview при нажатии на позиции...


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

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

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