Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Delphi
Перезагрузить страницу Помогите(не правильно работает программа)
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
mukanov001 mukanov001 вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.12.2015
По умолчанию Помогите(не правильно работает программа) - 04.12.2015, 21:13

при работе соперник в пингпонг глючит не согу найти ошибку

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls;

type
TForm1 = class(TForm)
Shape1: TShape;
Timer1: TTimer;
Shape2: TShape;
Shape3: TShape;
Timer2: TTimer;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Timer2Timer(Sender: TObject);
private
procedure shar();
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
PosX,PosY,VelX,VelY:single;


implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
randomize;
PosX:=1;
PosY:=1;
VelX:=2;
VelY:=3;
end;

procedure TForm1.shar;
begin
PosX:=PosX+VelX;
PosY:=PosY+VelY;

if PosX> ClientWidth -Shape1.Width then
VelX:=-VelX;

if PosX< 0 then
VelX:=-VelX;

if PosY> ClientHeight -Shape1.Width then
VelY:=-VelY;

if PosY< 0 then
VelY:=-VelY;

Shape1.Left:=round(PosX);
Shape1.Top:=round(PosY);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
Overlay: Trect;
begin
shar;

If InterSectRect(Overlay,Shape2.BoundsRect,Shape1.Bou ndsRect) then
begin
VelX:=-VelX-random(5);
VelY:=-VelY-random(5);
end;

If InterSectRect(Overlay,Shape2.BoundsRect,Shape1.Bou ndsRect) then
begin
VelX:=-VelX-random(5);
VelY:=-VelY-random(5);
end;


end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Shape2.Top:=Mouse.CursorPos.Y -Form1.ClientOrigin.Y;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if Shape3.Top>ClientHeight - Shape3.Height -40 then
Shape3.Top:=Shape3.Top
else
begin
if Shape1.Top>Shape3.Top then
Shape3.Top:=Shape1.Top+Shape3.Width;
end;

if Shape1.Top <Shape3.Top then
Shape3.Top:=Shape1.top - Shape3.Width;

end;

end.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Народ помогите, программа не работает student743 Pascal 1 19.12.2013 10:22
Программа операций над множествами,вставил меню-не работает,помогите исправить ошибку axexap Prolog 2 14.11.2013 00:10
Правильно ли работает оперативка Алтор Память 2 10.06.2012 13:15
программа правильно составлена? Aidar Pascal 0 24.05.2012 20:28
Не правильно работает прога на С# morihey Вопросы начинающих программистов 4 15.09.2011 23:04
Не правильно работает программа.. Почему??? arthurfok Visual C++ 3 10.09.2011 01:18
Не правильно работает программа.. Почему??? arthurfok Вопросы начинающих программистов 0 08.09.2011 23:04
Как правильно работает Sandra Andriy1 Вопросы начинающих программистов 1 25.05.2011 17:53
не правильно работает сетевой адаптер! left4due Любые вопросы от новичков 3 12.01.2011 19:11
Как правильно работает MaskBlt Lyova Visual C++ 0 01.09.2006 16:00
Программа то работает, то не работает в зависимости от PC что с этим делать Kostafey Delphi 6 06.11.2005 02:42
Написанная программа не работает в отладчике и не работает в ОС Youri Visual C++ 0 28.05.2004 23:49



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов