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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2013, 12:30   #1
Deine
Новичок
Джуниор
 
Регистрация: 16.06.2013
Сообщений: 1
Вопрос Графическая задача Delphi 7

Задача: робот заталкивает мяч в лунку.

Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    btn1: TButton;
    Timer1: TTimer;
    Timer2: TTimer;
    btn2: TButton;
    procedure btn1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure Timer2Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  x,y,a,b,dx:Integer;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);
begin
Canvas.MoveTo(50, 100);
Canvas.LineTo(300, 100);
Canvas.LineTo(300, 150);
Canvas.LineTo(350, 150);
Canvas.LineTo(350, 100);
Canvas.LineTo(400, 100);
x:=50;
y:=50;
a:=100;
b:=50;
dx:=3;
Canvas.Rectangle(x,y,x+50,y+50);
Canvas.Ellipse(a,b,a+50,b+50);
Timer1.Enabled:=True;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Timer1.Interval:=20;
 Form1.Canvas.Pen.Color:=Form1.Color;
 Form1.Canvas.Rectangle(x,y,x+50,y+50);
 x:=x+dx;
 Form1.Canvas.Pen.Color:=clGreen;
 Form1.Canvas.Rectangle(x,y,x+50,y+50);

 Form1.Canvas.Pen.Color:=Form1.Color;
 Form1.Canvas.Ellipse(a,b,a+50,b+50);
 a:=a+dx;
 Form1.Canvas.Pen.Color:=Clblue;
 Form1.Canvas.Ellipse(a,b,a+50,b+50);
 if x>=300 then Timer1.Enabled:=False;
 if x>=300 then Timer2.Enabled:=True;

end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
Timer1.Interval:=20;
  Form1.Canvas.Pen.Color:=Form1.Color;
 Form1.Canvas.Ellipse(a,b,a+50,b+50);
 b:=b+dx;
 Form1.Canvas.Pen.Color:=Clblue;
 Form1.Canvas.Ellipse(a,b,a+50,b+50);
 if b>=150 then Timer1.Enabled:=False;
end;

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

end.
Проблема: Фигуры стоят на месте, не двигаясь.



________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 16.06.2013 в 19:39.
Deine вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графическая задача Req Помощь студентам 0 14.12.2012 20:43
Графическая задача на QBasic annushka818 Помощь студентам 1 23.10.2012 18:00
Графическая и параметрическая задача. Diego90 Помощь студентам 2 10.12.2010 17:17
Графическая Nextgen Общие вопросы C/C++ 0 12.02.2010 09:08
Графическая программа Lillipop Помощь студентам 5 20.08.2009 18:02