unit1.pas

来自「Delphi7编程80例(完全版)」· PAS 代码 · 共 1,476 行 · 第 1/3 页

PAS
1,476
字号
 vup:=falsE;
 vright2left:=falsE;
 vleft2right:=false;
 vdown2up:=false;
 vup2down:=falsE;

 if(speedbutton15.left+48=Panel1.left)and(speedbutton15.top=Panel1.top) then
  vright:=true;
 if(speedbutton15.left-48=Panel1.left)and(speedbutton15.top=Panel1.top) then
  vleft:=true;
 if(speedbutton15.left=Panel1.left)and(speedbutton15.top-40=Panel1.top) then
  vup:=true;
 if(speedbutton15.left=Panel1.left)and(speedbutton15.top+40=Panel1.top) then
  vdown:=true;
end;
begin
 detect;
 if(vright=true)and(vleft2right=false) then
  begin
   x:=speedbutton15.left;
   y:=speedbutton15.top;
   speedbutton15.left:=Panel1.left;
   speedbutton15.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vright2left:=true;
 end;

 if(vleft=true)and(vright2left=false) then
  begin
   x:=speedbutton15.left;
   y:=speedbutton15.top;
   speedbutton15.left:=Panel1.left;
   speedbutton15.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
  end;
 if(vup=true)and(vup2down=falsE) then
  begin
   x:=speedbutton15.left;
   y:=speedbutton15.top;
   speedbutton15.left:=Panel1.left;
   speedbutton15.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=true;
 end;

 if(vdown=true)and(vup2down=falsE) then
  begin
   x:=speedbutton15.left;
   y:=speedbutton15.top;
   speedbutton15.left:=Panel1.left;
   speedbutton15.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=false;
 end;
end;

procedure TForm1.SpeedButton16Click(Sender: TObject);

procedure detect;
begin
 vright:=falsE;
 vleft:=false;
 vdown:=false;
 vup:=falsE;
 vright2left:=falsE;
 vleft2right:=false;
 vdown2up:=false;
 vup2down:=falsE;

 if(speedbutton16.left+48=Panel1.left)and(speedbutton16.top=Panel1.top) then
  vright:=true;
 if(speedbutton16.left-48=Panel1.left)and(speedbutton16.top=Panel1.top) then
  vleft:=true;
 if(speedbutton16.left=Panel1.left)and(speedbutton16.top-40=Panel1.top) then
  vup:=true;
 if(speedbutton16.left=Panel1.left)and(speedbutton16.top+40=Panel1.top) then
  vdown:=true;
 end;
begin
 detect;
 if(vright=true)and(vleft2right=false) then
  begin
   x:=speedbutton16.left;
   y:=speedbutton16.top;
   speedbutton16.left:=Panel1.left;
   speedbutton16.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vright2left:=true;
  end;

 if(vleft=true)and(vright2left=false) then
  begin
   x:=speedbutton16.left;
   y:=speedbutton16.top;
   speedbutton16.left:=Panel1.left;
   speedbutton16.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
 end;

 if(vup=true)and(vup2down=falsE) then
  begin
   x:=speedbutton16.left;
   y:=speedbutton16.top;
   speedbutton16.left:=Panel1.left;
   speedbutton16.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=true;
  end;

 if(vdown=true)and(vup2down=falsE) then
  begin
   x:=speedbutton16.left;
   y:=speedbutton16.top;
   speedbutton16.left:=Panel1.left;
   speedbutton16.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=false;
 end;
end;

procedure TForm1.SpeedButton17Click(Sender: TObject);

procedure detect;
begin
 vright:=falsE;
 vleft:=false;
 vdown:=false;
 vup:=falsE;
 vright2left:=falsE;
 vleft2right:=false;
 vdown2up:=false;
 vup2down:=falsE;

if(speedbutton17.left+48=Panel1.left)and(speedbutton17.top=Panel1.top) then
 vright:=true;
if(speedbutton17.left-48=Panel1.left)and(speedbutton17.top=Panel1.top) then
 vleft:=true;
if(speedbutton17.left=Panel1.left)and(speedbutton17.top-40=Panel1.top) then
 vup:=true;
if(speedbutton17.left=Panel1.left)and(speedbutton17.top+40=Panel1.top) then
 vdown:=true;
end;
begin
detect;
if(vright=true)and(vleft2right=false) then
 begin
  x:=speedbutton17.left;
  y:=speedbutton17.top;
  speedbutton17.left:=Panel1.left;
  speedbutton17.top:=Panel1.top;
  Panel1.lefT:=x;
  Panel1.top:=y;
  vright2left:=true;
 end;
if(vleft=true)and(vright2left=false) then
 begin
  x:=speedbutton17.left;
  y:=speedbutton17.top;
  speedbutton17.left:=Panel1.left;
  speedbutton17.top:=Panel1.top;
  Panel1.lefT:=x;
  Panel1.top:=y;
 end;
if(vup=true)and(vup2down=falsE) then
 begin
  x:=speedbutton17.left;
  y:=speedbutton17.top;
  speedbutton17.left:=Panel1.left;
  speedbutton17.top:=Panel1.top;
  Panel1.lefT:=x;
  Panel1.top:=y;
  vup2down:=true;
 end;
if(vdown=true)and(vup2down=falsE) then
 begin
  x:=speedbutton17.left;
  y:=speedbutton17.top;
  speedbutton17.left:=Panel1.left;
  speedbutton17.top:=Panel1.top;
  Panel1.lefT:=x;
  Panel1.top:=y;
  vup2down:=false;
 end;
end;

procedure TForm1.SpeedButton18Click(Sender: TObject);
procedure detect;
begin
 vright:=falsE;
 vleft:=false;
 vdown:=false;
 vup:=falsE;
 vright2left:=falsE;
 vleft2right:=false;
 vdown2up:=false;
 vup2down:=falsE;

if(speedbutton18.left+48=Panel1.left)and(speedbutton18.top=Panel1.top) then vright:=true;
if(speedbutton18.left-48=Panel1.left)and(speedbutton18.top=Panel1.top) then vleft:=true;
if(speedbutton18.left=Panel1.left)and(speedbutton18.top-40=Panel1.top) then vup:=true;
if(speedbutton18.left=Panel1.left)and(speedbutton18.top+40=Panel1.top) then vdown:=true;
end;
begin
 detect;
 if(vright=true)and(vleft2right=false) then
  begin
   x:=speedbutton18.left;
   y:=speedbutton18.top;
   speedbutton18.left:=Panel1.left;
   speedbutton18.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vright2left:=true;
 end;
 if(vleft=true)and(vright2left=false) then
  begin
   x:=speedbutton18.left;
   y:=speedbutton18.top;
   speedbutton18.left:=Panel1.left;
   speedbutton18.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
  end;
 if(vup=true)and(vup2down=falsE) then
  begin
   x:=speedbutton18.left;
   y:=speedbutton18.top;
   speedbutton18.left:=Panel1.left;
   speedbutton18.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=true;
 end;
 if(vdown=true)and(vup2down=falsE) then
  begin
   x:=speedbutton18.left;
   y:=speedbutton18.top;
   speedbutton18.left:=Panel1.left;
   speedbutton18.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=false;
  end;
end;

procedure TForm1.SpeedButton19Click(Sender: TObject);
procedure detect;
begin
 vright:=falsE;
 vleft:=false;
 vdown:=false;
 vup:=falsE;
 vright2left:=falsE;
 vleft2right:=false;
 vdown2up:=false;
 vup2down:=falsE;
 if(speedbutton19.left+48=Panel1.left)and(speedbutton19.top=Panel1.top) then
  vright:=true;
 if(speedbutton19.left-48=Panel1.left)and(speedbutton19.top=Panel1.top) then
  vleft:=true;
 if(speedbutton19.left=Panel1.left)and(speedbutton19.top-40=Panel1.top) then
  vup:=true;
 if(speedbutton19.left=Panel1.left)and(speedbutton19.top+40=Panel1.top) then
  vdown:=true;
end;
begin
 detect;
 if(vright=true)and(vleft2right=false) then
  begin
   x:=speedbutton19.left;
   y:=speedbutton19.top;
   speedbutton19.left:=Panel1.left;
   speedbutton19.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vright2left:=true;
 end;
 if(vleft=true)and(vright2left=false) then
  begin
   x:=speedbutton19.left;
   y:=speedbutton19.top;
   speedbutton19.left:=Panel1.left;
   speedbutton19.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
 end;
 if(vup=true)and(vup2down=falsE) then
  begin
   x:=speedbutton19.left;
   y:=speedbutton19.top;
   speedbutton19.left:=Panel1.left;
   speedbutton19.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=true;
 end;
 if(vdown=true)and(vup2down=falsE) then
  begin
   x:=speedbutton19.left;
   y:=speedbutton19.top;
   speedbutton19.left:=Panel1.left;
   speedbutton19.top:=Panel1.top;
   Panel1.lefT:=x;
   Panel1.top:=y;
   vup2down:=false;
  end;
end;

procedure TForm1.Newgame1Click(Sender: TObject);
begin
 RanNums:=random(20); //显示speedbutton1上的数字
 if RanNums=0 then
  RanNums:=RanNums+1;
 a1:=RanNums;
 speedbutton1.caption:=IntToStr(RanNums);
repeat                //显示speedbutton2上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a2:=RanNums;
 speedbutton2.caption:=inttostr(RanNums);
until(a2<>a1);
repeat               //显示speedbutton3的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a3:=RanNums;
 speedbutton3.caption:=inttostr(RanNums);
until(a3<>a1)and(a3<>a2);
repeat              //显示speedbutton4上的数字
RanNums:=random(20);
if RanNums=0 then RanNums:=RanNums+1;
a4:=RanNums;
speedbutton4.caption:=inttostr(RanNums);
until(a4<>a1)and(a4<>a2)and(a4<>a3);
repeat              //显示speedbutton5上的数字
RanNums:=random(20);
if RanNums=0 then RanNums:=RanNums+1;
a5:=RanNums;
speedbutton5.caption:=inttostr(RanNums);
until(a5<>a1)and(a5<>a2)and(a5<>a3)and(a5<>a4);
repeat            //显示speedbutton6上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a6:=RanNums;
 speedbutton6.caption:=inttostr(RanNums);
until(a6<>a1)and(a6<>a2)and(a6<>a3)and(a6<>a4)and(a6<>a5);
repeat            //显示speedbutton7上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a7:=RanNums;
 speedbutton7.caption:=inttostr(RanNums);
until(a7<>a1)and(a7<>a2)and(a7<>a3)and(a7<>a4)and(a7<>a5)and(a7<>a6);
repeat           //显示speedbutton8上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a8:=RanNums;
 speedbutton8.caption:=inttostr(RanNums);
until(a8<>a1)and(a8<>a2)and(a8<>a3)and(a8<>a4)and(a8<>a5)and(a8<>a6)and(a8<>a7);
repeat          //显示speedbutton9上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a9:=RanNums;
 speedbutton9.caption:=Inttostr(RanNums);
until(a9<>a1)and(a9<>a2)and(a9<>a3)and(a9<>a4)and(a9<>a5)and(a9<>a6)and(a9<>a7)
and(a9<>a8);
repeat          //显示speedbutton10上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a10:=RanNums;
 speedbutton10.caption:=inttostr(RanNums);
until(a10<>a1)and(a10<>a2)and(a10<>a3)and(a10<>a4)and(a10<>a5)and(a10<>a6)and(a10<>a7)
and(a10<>a8)and(a10<>a9);
repeat         //显示speedbutton11上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a11:=RanNums;
 speedbutton11.caption:=inttostr(RanNums);
until(a11<>a1)and(a11<>a2)and(a11<>a3)and(a11<>a4)and(a11<>a5)and(a11<>a6)and(a11<>a7)
and(a11<>a8)and(a11<>a9)and(a11<>a10);
repeat        //显示speedbutton12上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a12:=RanNums;
 speedbutton12.caption:=inttostr(RanNums);
until(a12<>a1)and(a12<>a2)and(a12<>a3)and(a12<>a4)and(a12<>a5)and(a12<>a6)and(a12<>a7)
and(a12<>a8)and(a12<>a9)and(a12<>a10)and(a12<>a11);
repeat        //显示speedbutton13上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a13:=RanNums;
 speedbutton13.caption:=inttostr(RanNums);
until(a13<>a1)and(a13<>a2)and(a13<>a3)and(a13<>a4)and(a13<>a5)and(a13<>a6)and(a13<>a7)
and(a13<>a8)and(a13<>a9)and(a13<>a10)and(a13<>a11)and(a13<>a12);
repeat        //显示speedbutton14上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a14:=RanNums;
 speedbutton14.caption:=inttostr(RanNums);
until(a14<>a1)and(a14<>a2)and(a14<>a3)and(a14<>a4)and(a14<>a5)and(a14<>a6)and(a14<>a7)
and(a14<>a8)and(a14<>a9)and(a14<>a10)and(a14<>a11)and(a14<>a12)and(a14<>a13);
repeat        //显示speedbutton15上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a15:=RanNums;
 speedbutton15.caption:=inttostr(RanNums);
until(a15<>a1)and(a15<>a2)and(a15<>a3)and(a15<>a4)and(a15<>a5)and(a15<>a6)and(a15<>a7)
and(a15<>a8)and(a15<>a9)and(a15<>a10)and(a15<>a11)and(a15<>a12)and(a15<>a13)
and(a15<>a14);
repeat        //显示speedbutton16上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a16:=RanNums;
 speedbutton16.caption:=inttostr(RanNums);
until(a16<>a1)and(a16<>a2)and(a16<>a3)and(a16<>a4)and(a16<>a5)and(a16<>a6)and(a16<>a7)
and(a16<>a8)and(a16<>a9)and(a16<>a10)and(a16<>a11)and(a16<>a12)and(a16<>a13)
and(a16<>a14)and(a16<>a15);
repeat         //显示speedbutton17上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a17:=RanNums;
 speedbutton17.caption:=inttostr(RanNums);
until(a17<>a1)and(a17<>a2)and(a17<>a3)and(a17<>a4)and(a17<>a5)and(a17<>a6)and(a17<>a7)
and(a17<>a8)and(a17<>a9)and(a17<>a10)and(a17<>a11)and(a17<>a12)and(a17<>a13)
and(a17<>a14)and(a17<>a15)and(a17<>a16);
repeat         //显示speedbutton18上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
  a18:=RanNums;
 speedbutton18.caption:=inttostr(RanNums);
until(a18<>a1)and(a18<>a2)and(a18<>a3)and(a18<>a4)and(a18<>a5)and(a18<>a6)and(a18<>a7)
and(a18<>a8)and(a18<>a9)and(a18<>a10)and(a18<>a11)and(a18<>a12)and(a18<>a13)
and(a18<>a14)and(a18<>a15)and(a18<>a16)and(a18<>a17);
repeat        //显示speedbutton19上的数字
 RanNums:=random(20);
 if RanNums=0 then RanNums:=RanNums+1;
 a19:=RanNums;
 speedbutton19.caption:=inttostr(RanNums);
until(a19<>a1)and(a19<>a2)and(a19<>a3)and(a19<>a4)and(a19<>a5)and(a19<>a6)and(a19<>a7)
and(a19<>a8)and(a19<>a9)and(a19<>a10)and(a19<>a11)and(a19<>a12)and(a19<>a13)
and(a19<>a14)and(a19<>a15)and(a19<>a16)and(a19<>a17)and(a19<>a18);

end;

procedure TForm1.Exitgame1Click(Sender: TObject);
begin
 Application.terminate;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
 If OpenPictureDialog1.Execute Then   //设置背景图
 Begin
  Image1.Stretch:=True;
  Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName); //载入背景图片
 end;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
If ColorDialog1.Execute Then    //设置数字颜色
 Begin
 SpeedButton1.Font.Color:=ColorDialog1.Color;
 SpeedButton2.Font.Color:=ColorDialog1.Color;
 SpeedButton3.Font.Color:=ColorDialog1.Color;
 SpeedButton4.Font.Color:=ColorDialog1.Color;
 SpeedButton5.Font.Color:=ColorDialog1.Color;
 SpeedButton6.Font.Color:=ColorDialog1.Color;
 SpeedButton7.Font.Color:=ColorDialog1.Color;
 SpeedButton8.Font.Color:=ColorDialog1.Color;
 SpeedButton9.Font.Color:=ColorDialog1.Color;
 SpeedButton10.Font.Color:=ColorDialog1.Color;
 SpeedButton11.Font.Color:=ColorDialog1.Color;
 SpeedButton12.Font.Color:=ColorDialog1.Color;
 SpeedButton13.Font.Color:=ColorDialog1.Color;
 SpeedButton14.Font.Color:=ColorDialog1.Color;
 SpeedButton15.Font.Color:=ColorDialog1.Color;
 SpeedButton16.Font.Color:=ColorDialog1.Color;
 SpeedButton17.Font.Color:=ColorDialog1.Color;
 SpeedButton18.Font.Color:=ColorDialog1.Color;
 SpeedButton19.Font.Color:=ColorDialog1.Color;
 end;
end;

end.

⌨️ 快捷键说明

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