版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实例二
键盘打字练习【程序说明】相信在大家在刚接触电脑时都用过打字软件,这些软件的作用主要是用来熟悉键盘的。知道这个最终目的之后,我们也就可以模仿制作一个类似的小游戏软件了。本例实现的这个键盘练习软件除了可以设置难易度之外,还可以更换界面背景、控制声音的播放与否和字母颜色。程序运行结果如图2-1所示。图2-1
键盘打字练习【编程思路】一般而言,游戏界存在这样的一个规律:好的游戏=优秀的游戏设计思想精美的游戏的素材可靠的程序代码,三者缺一不可。这里抛开空洞的理论,只就本例的这个小程序而言。下面就是本例的设计思想和特点:1、程序运行后,窗口中间的图像上就有四个不断变化的字母从上向下运动。当从键盘上输入的字母与这四个字母的某一个相同时(大小写敏感),窗口的标题栏就会出现正确与否的提示信息。2、本例通过TrackBar可以控制游戏的难度,通过ColorBox可以设置字母的颜色,通过RadioButton控制声音的播放与否,2个Button则随时可以控制游戏的开始和停止。游戏软件的编写时间并不长,而且一个好的游戏产品就是一个不断升级和完善的过程。因此,世界上没有一个十全十美的游戏。本例虽然比较粗糙,但是基本的游戏操作和设置都有所涉及。【编程步骤】.1.选择File|New|Application,新建一个应用程序。2.添加控件和界面布局。向Form上添加10个Label,3个Button,2个RadioButton,1个Image、Timer、ColorBox和OpenPictureDialog。控件和界面布局可参考图2-2。图2-2
控件和窗口布局3.控件主要属性设置。参照表2-1设置各控件的主要属性。表2-1
本例控件的主要属性设置控件名(Name)属性属性值Label1、Label2Label3、Label4CaptionTrackBar1Max2Timer1EnabledFalseForm1KeyPreviewTrue(关键)特别要说明的是:Form1的KeyPreview要设置为True,否则键盘事件在Form1上无效。4.编写代码。(1)双击Button1(“开始游戏”),然后添加下列代码以响应OnClick事件,对各控件进行相关的设置之后再开启TcedureTForm1.Button1Click(Sender:TObject);begin//开始游戏Label1.Top:=25;Label2.Top:=25;Label3.Top:=25;Label4.Top:=25;//难易度设置,只要控制Timer的Interval即可IfTrackBar1.Position=0ThenTimer1.Interval:=1000;IfTrackBar1.Position=1ThenTimer1.Interval:=500;IfTrackBar1.Position=2ThenTimer1.Interval:=200;Timer1.Enabled:=True;end;(2)双击Timer1,然后添加下列代码以响应OnTimer事件,实现字母的随机出现。procedureTForm1.Timer1Timer(Sender:TObject);var
ch1,ch2,ch3,ch4:char;beginRandomize;//随机显示大小写字母ch1:=chr(65Random(25));
//大写ch2:=chr(97Random(25));
//小写ch3:=chr(65Random(25));ch4:=chr(97Random(25));//对4个Label赋值Label1.Caption:=ch1;//关键句Label2.Caption:=ch2;Label3.Caption:=ch3;Label4.Caption:=ch4;//指定4个Label的初始X值Label1.Left:=100;Label2.Left:=150;Label3.Left:=200;Label4.Left:=250;//当4个Label到达底端时,再重新从顶端开始下移Iflabel1.Top<250ThenLabel1.Top:=Label1.TopRandom(10)Else
Label1.Top:=10;Iflabel2.Top<250ThenLabel2.Top:=Label2.TopRandom(10)ElseLabel2.Top:=10;Iflabel3.Top<250ThenLabel3.Top:=Label3.TopRandom(10)Else
Label3.Top:=10;Iflabel4.Top<250ThenLabel4.Top:=Label4.TopRandom(10)Else
Label4.Top:=10;end;(3)下面是本例的关键代码,即Form1的OnKeyPress事件。游戏开始后,看准画面上下落的字母,快速地从键盘上输入,如果键盘输入与下落字母相同,则显示正确信息,否则显示打错了的信息。由于这里用到了声音播放函数——sndplaysound,所以必须在uses中加入cedureTForm1.FormKeyPress(Sender:TObject;varKey:Char);beginifkey=label1.CaptionThenBeginCaption:='你打对了'label1.Caption;IfRadioButton1.CheckedThensndplaysound('success.wav',SND_ASYNC);endElseifkey=label2.CaptionThenBeginCaption:='你打对了'label2.Caption;IfRadioButton1.CheckedThensndplaysound('success.wav',SND_ASYNC);endElseifkey=label3.CaptionThenBeginCaption:='你打对了'label3.Caption;IfRadioButton1.CheckedThensndplaysound('success.wav',SND_ASYNC);endElseifkey=label4.CaptionThenBeginCaption:='你打对了'label4.Caption;IfRadioButton1.CheckedThensndplaysound('success.wav',SND_ASYNC);endElseBeginCaption:='太烂了,一个都没有对';IfRadioButton1.CheckedThensndplaysound('fail.wav',SND_ASYNC);end;end;(4)双击Button2(“停止游戏”),然后添加下列代码以响应OnClick事件,清空Label中的内容,并停止计时。procedureTForm1.Button2Click(Sender:TObject);begin
//停止游戏Timer1.Enabled:=False;Label1.Caption:='';Label2.Caption:='';Label3.Caption:='';Label4.Caption:='';end;(5)本例还有画面和字母颜色设置功能。下面的两段代码就实现这方面的功能。procedureTForm1.Button3Click(Sender:TObject);beginIfOpenPictureDialog1.ExecuteThenImage1.Picture.LoadFromFile(OpenPictureDialog1.FileName);//更换背景图片end;procedureTForm1.ColorBox1Change(Sender:TObject);begin//设置字母颜色Label1.Font.Color:=ColorBox1.Selected;Label2.Font.Color:=ColorBox1.Selecte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学道法传统文化教育|中年级核心教学内容课件
- 2025山东晨鸣纸业集团股份有限公司招聘50人笔试历年典型考点题库附带答案详解
- 2025山东临沂市罗庄区兴罗投资控股有限公司招聘14人笔试历年常考点试题专练附带答案详解
- 2025安徽蚌埠市固镇县工业投资(集团)有限公司招聘专业安全监管人员4人笔试历年难易错考点试卷带答案解析
- 2025安徽某国企高速收费站收费员招聘18人笔试历年备考题库附带答案详解
- 2025天津北海油人力资源咨询服务有限公司招聘外包工作人员35人笔试历年难易错考点试卷带答案解析
- 2025四川绵阳市公共交通集团有限责任公司招聘车辆运维管理专员等岗位2人笔试历年备考题库附带答案详解
- 2025四川宜宾市文化旅游会展集团有限公司下属子公司第一批员工招聘35人笔试历年难易错考点试卷带答案解析
- 2025北京化学工业集团有限责任公司招聘20人笔试参考题库附带答案详解
- IT支持团队问题解决速度考评表
- 2026吉林辽源市龙山区招聘社区就业服务专员公益性岗位人员50人笔试模拟试题及答案详解
- 2026湖北恩施州宣恩城市发展集团有限公司招聘9人笔试题库附答案详解(研优卷)
- DB3210T 1181-2024高邮咸鸭蛋加工制作规程
- 除氧器乏汽回收装置
- 水环境治理项目管理-全面剖析
- 政府拜访函(模板)
- 部编版语文六年级下册第四单元《综合性学习奋斗的历程》表格式公开课一等奖创新教学设计(公开课公开课一等奖创新教案及作业设计)
- 2025年宏观经济展望:“冲击与韧性”
- 新生儿咽下综合征
- 矿山机械全套教学课件
- 北京国贸物业管理部手册
评论
0/150
提交评论