鱼C论坛

 找回密码
 立即注册
查看: 2412|回复: 0

[原创] 撞墙游戏源代码

[复制链接]
发表于 2014-12-26 07:02:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
窗体初始化
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Image1: TImage;
    Shape1: TShape;
    Timer1: TTimer;
    Label1: TLabel;
    ListBox1: TListBox;
    Label2: TLabel;
    Label3: TLabel;
    Edit1: TEdit;
    Label4: TLabel;
    procedure Timer1Timer(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation


{$R *.dfm}

定时器空间
把Timer1的Interval属性改为1
procedure TForm1.Timer1Timer(Sender: TObject);
begin
    image1.Left:=image1.Left+1;
    if image1.Left>shape1.Left-44 then
    begin
        Timer1.Enabled :=False;
        showmessage('Game Over');
        Close;
    end
end;

窗体(按下键)
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    Timer1.Enabled :=True;
    Label1.Caption:=IntToStr(160-(Shape1.Left-Image1.Left));
end;

窗体(松开按键)
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    Timer1.Enabled:=False;
    ListBox1.Items.Add(Label1.Caption);
    image1.Left:=0;
    shape1.Left:=Random(200)+100;
    Edit1.Text:=IntToStr(StrToInt(Edit1.Text)+StrToInt(Label1.Caption));
end;

窗体(创建标签)
procedure TForm1.FormCreate(Sender: TObject);
begin
    Label3.Caption:='游戏规则:按键盘上的任意键。按下时人就往前走,松开时人就停下来,并回到起点。看人离墙多近,越近分越高。如果人撞到墙,则游戏结束。';
end;

end.

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-22 21:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表