Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2010, 16:22   #1
IL-93
Новичок
Джуниор
 
Регистрация: 13.11.2010
Сообщений: 1
Вопрос Соударение shapoB

Вот у меня код, там я не знаю как написать их соударение
PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsExtCtrls;

type
  TForm1 
= class(TForm)
    
Shape1TShape;
    
Timer1TTimer;
    
Shape2TShape;
    
procedure FormCreate(SenderTObject);
    
procedure Timer1Timer(SenderTObject);
     private
    { Private 
declarations }
  public
    
procedure shar();
    
procedure shar1();
    
procedure udar();
    { Public 
declarations }
  
end;

var
  
Form1TForm1;

  
PosXPosYinteger;  //Первый Shape
  
VelXVelYinteger;

  
PosX1PosY1integer;  //Второй shape
  
VelX1VelY1integer;
implementation

{$R *.dfm}

TForm1 }

procedure TForm1.shar;
begin
  PosX
:=PosX+VelX;
  
PosY:=PosY+VelY;
  
Shape1.Left:=PosX;
  
Shape1.Top:=PosY;
  If 
PosX >= ClientWidth Shape1.Width then
     begin
        VelX
:= -VelX;
     
end
  
else
      If 
PosX<0 then
         begin
         VelX
:=-VelX;
         
end;

  if 
PosY >= ClientHeight Shape1.Width then
     begin
        VelY
:=-Vely;
     
end
  
else VelY:=VelY;
     If 
PosY<0 then
        begin
        VelY
:=-Vely
        end
end
;

procedure TForm1.FormCreate(SenderTObject);
begin
  VelX
:=1;
  
VelY:=1;
  
PosX:=10;
  
PosY:=100;

  
VelX1:=2;
  
VelY1:=2;
  
PosX1:=100;
  
PosY1:=100;
end;

procedure TForm1.Timer1Timer(SenderTObject);
begin
  shar
;
  
Shar1;
end;

procedure TForm1.shar1;
begin
begin
  PosX1
:=PosX1+VelX1;
  
PosY1:=PosY1+VelY1;
  
Shape2.Left:=PosX1;
  
Shape2.Top:=PosY1;
  If 
PosX1 >= ClientWidth Shape2.Width then
     begin
        VelX1
:= -VelX1;
     
end
  
else
      If 
PosX1<0 then
         begin
         VelX1
:=-VelX1;
         
end;

  if 
PosY1 >= ClientHeight Shape2.Width then
     begin
        VelY1
:=-Vely1;
     
end
  
else VelY1:=VelY1;
     If 
PosY1<0 then
        begin
        VelY1
:=-VelY1;
        
end


end
;
end;

procedure TForm1.udar;
begin

end
;

end
IL-93 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Соударение шариков разных размеров и объемов Стаханов_Андрей Помощь студентам 3 09.03.2008 17:17