delphi实例3--字母拼图游戏.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
delphi实例3--字母拼图游戏

实例三 数字拼图游戏 【程序说明】 曾经有个非常流行的游戏——拼图游戏,现在在网络上、手机上和游戏汇萃集中仍然流行着。本例从另外一个思路实现了数字拼图游戏。从菜单中选择“新游戏”后,19个数字就会随机显示到19个SpeedButton上。我们要做的就是将这19个数字排列好,就算游戏成功。程序运行结果如图3-1所示。 图3-1 数字拼图游戏 【编程思路】 这个游戏的思路很简单:将随机产生的数字有序化。 这个游戏的特点如下: 1、数字随机显示。 2、背景可以自行更换。 3、数字颜色可以更换。 本例游戏的实现思路是:游戏开始,数字随机生成后,先判断空位的位置,再判断空位附近的按钮,并检测这些按钮的可移动方向,然后将这些数字按钮排列成有序即可, 【编程步骤】. 1.选择File|New|Application,新建一个应用程序。 2.添加控件和界面布局。向Form上添加19个SpeedButton,1个MainMenu、ColorDialog、StatusBar、Panel、 OepnPictureDialog和Image。这些控件的布局如图3-2所示。 图3-2 控件和窗口布局 3.控件主要属性设置。参照表3-1设置各控件的主要属性。 表3-1 控件的主要属性设置 控 件 名(Name) 属 性 属性值 MainMenu1 Items Timer1 Enabled False Panel1 Color clBlack 4.编写代码。 (1)首先,要定义本例用到的几个全局变量。 var Form1: TForm1; x,y:integer; //数字按钮移动的点坐标 vright,vleft,vdown,vup:boolean; //数字移动方向的判断 vright2left,vleft2right,vdown2up,vup2down:boolean; //数字移动方向的判断 a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12, a13,a14,a15,a16,a17,a18,a19:integer; //19个数字 RanNums:integer; //随机数字 (2)单击Newgame1(“新游戏”),添加下列代码以响应OnClick事件,开启Timr1,随机生成19个数字,并将这些数字显示到19个SpeedButton中。 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(a2a1); repeat //显示speedbutton3的数字 RanNums:=random(20); if RanNums=0 then RanNums:=RanNums+1; a3:=RanNums; speedbutton3.caption:=inttostr(RanNums); until(a3a1)and(a3a2); repeat //显示speedbutton4上的数字 RanNums:=random(20); if RanNums=0 then RanNums:=RanNums+1; a4:=RanNums; speedbutton4.caption:=inttostr(RanNums); until(a4a1)and(a4a2)and(a4a3); repeat //显示speedbutton5上的数字 RanNums:=random(20); if RanNums=0 then RanN

文档评论(0)

2017ll + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档