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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2013, 21:38   #1
reakt1ve
Новичок
Джуниор
 
Регистрация: 16.06.2013
Сообщений: 1
По умолчанию Delphi 7



нужно написать программу- движения шара по линиям

он останавливается в той точке, которая на картинке и не продолжает движение(поднятие вверх)



unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Timer1: TTimer;
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure xx;
procedure yy;
procedure yy1;
procedure tt;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x,y,z:integer;
implementation

{$R *.dfm}

procedure TForm1.tt;
begin
Canvas.MoveTo(100, 50);
Canvas.LineTo(100, 200);
Canvas.LineTo(200, 200);
Canvas.LineTo(200, 100);
Canvas.LineTo(300, 100);
Canvas.LineTo(300, 250);
Canvas.LineTo(400, 250);
end;

procedure TForm1.xx;
begin
Canvas.Pen.Color:=clBtnFace;
Canvas.Ellipse(x-z,y,50+x-z,50+y);
Canvas.Pen.Color:=rgb(0,0,0);
end;

procedure TForm1.yy;
begin
Canvas.Pen.Color:=clBtnFace;
Canvas.Ellipse(x,y-z,50+x,50+y-z);
Canvas.Pen.Color:=rgb(0,0,0);
end;

procedure TForm1.yy1;
begin
Canvas.Pen.Color:=clBtnFace;
Canvas.Ellipse(x,y+z,50+x,50+y+z);
Canvas.Pen.Color:=rgb(0,0,0);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
z:=1;
Canvas.Pen.Width := 1;
tt;
if y<150 then begin yy; y:=y+z; end;
if x<150 then if (y=150) then begin xx; x:=x+z; end;
if y>50 then if x=250 then begin yy1; y:=y-z; end;
if x<250 then if y=250 then begin xx; x:=x+z; end;
if x<350 then if y=50 then if x>=250 then begin xx; x:=x+z; end;
if x<500 then if y>0 then if x>=350 then begin yy1; y:=y-z; end;
if x<500 then if y=0 then begin xx; x:=x+z; end;
if y<50 then if x=500 then begin yy; y:=y+z; end;
if x<550 then if x>=500 then if y=50 then begin xx; x:=x+z; end;


Canvas.Ellipse(x,y,50+x,50+y);
tt;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
yy;
yy1;
xx;
x:=100;
y:=50;
Timer1.Enabled:=true;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Canvas.Brush.Color:=Random(10000000 );
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
InvalidateRect(0, nil, true);
end;

end.
reakt1ve вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не изменяется интерфейс моей программы при переходе с Delphi 7 на Delphi 2010 Elvisnya Общие вопросы Delphi 3 28.04.2011 15:59
На Delphi 7 сделать игру кто хочет стать миллионером в delphi 7 666dart666 Помощь студентам 11 04.11.2010 17:57
Rad Studio 2011 XE: новое в Delphi, C++ Builder, RadPHP и Delphi Prism savva-paladin Софт 18 02.10.2010 20:24
Delphi. Как нарисовать в Delphi два движущиеся шара с определенной скоростью? redred Общие вопросы Delphi 10 11.12.2007 10:43
Как открыть БД, написанную в Delphi если нf другой машине Delphi нет? dagarik БД в Delphi 7 22.10.2007 17:54