⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 学习Delphi最好的教材。通过一个个简单而实用的实例
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    Shape1: TShape;
    Shape2: TShape;
    Timer2: TTimer;
    Button1: TButton;
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Timer2Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Shape1.Left:=Shape1.Left+10;
  if Shape1.Left>400 then
    Shape1.Left:=0;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=37 then Shape1.Left:=Shape1.Left-5;
  if Key=39 then Shape1.Left:=Shape1.Left+5;
end;

procedure TForm1.Timer2Timer(Sender: TObject);
var
  x1,y1,x2,y2:Integer;
begin
  Shape2.Top:=Shape2.Top-10;
  if Shape2.Top=0 then
  begin
    Timer2.Enabled:=False;
    Shape2.Top:=300;
  end;
  x1:=Shape1.Left + Shape1.Width div 2;
  y1:=Shape1.Top + Shape1.Height div 2;
  x2:=Shape2.Left + Shape2.Width div 2;
  y2:=Shape2.Top + Shape2.Height div 2;
  if (x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)<1000 then
  begin
    Timer1.Enabled:=False;
    Timer2.Enabled:=False;
    ShowMessage('你击中了');
    Shape2.Top:=300;
    Timer1.Enabled:=True; 
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer2.Enabled:=True;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -