




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州工程职业技术学院计算机技术系,项目:贪吃蛇游戏设计工作任务八:主界面(Start)类,C#程序设计,工作任务八:主界面(Start)类,一、主界面(Start类)分析此类继承自系统类System.Windows.Forms.Form,是本程序的主窗体。Start类主要用了继承来的字段、属性、方法和事件,我们只是在Start类中通过添加控件及设置控件的属性添加了对象字段和对象属性字段。,C#程序设计,C#程序设计,说明:通过向窗体上添加控件,系统会自动向窗体类中添加相应的对象字段,如本程序的mainMenu1、timer1、label1等,在类中对应的字段如下:privateSystem.Windows.Forms.MainMenumainMenu1;publicSystem.Windows.Forms.Timertimer1;privateSystem.Windows.Forms.Labellabel1;,C#程序设计,二、主界面(Start)类实现timer控件实现在用户定义的时间间隔引发事件的计时器此计时器最宜用于Windows窗体应用程序中,并且必须在窗口中使用。1)控件的属性Enabled属性获取或设置计时器是否正在运行。如果计时器当前处于启用状态,则为true;否则为false。默认为false。,C#程序设计,Interval属性获取或设置计时器开始计时之间的时间(以毫秒为单位)。计时器每次开始计时之间的毫秒数。该值不小于1。备注:若要获取该时间间隔的秒数,将此数字除以1,000。2)Tick事件当指定的计时器间隔已过去而且计时器处于启用状态时发生。如果需要自动运行,常用此控件。,C#程序设计,mainMenu控件MainMenu控件表示窗体菜单结构的容器。菜单由表示菜单结构中单个菜单命令的MenuItem对象组成。每个MenuItem可以成为应用程序的命令或其他子菜单项的父菜单。若要将MainMenu绑定到将显示它的Form,请将MainMenu分配给Form的Menu属性。进入每个MenuItem命令的单击事件方法与其他控件相同,通过双击此菜单项。,C#程序设计,窗体的KeyDown事件方法键被按下时发生。事件处理程序接收一个KeyEventArgs类型的参数,它包含与此事件相关的数据。其中KeyValues获取按键的键值。1)窗体的KeyDown事件方法功能:根据按键情况,调用蛇的TurnDirection方法,改变蛇的运行方向。,C#程序设计,C#程序设计,时间(timer1)控件的Tick事件功能:显示场地Floor对象(使蛇运动);显示游戏等级和分数;判断是否玩到了通关和蛇是否死亡。设计思路自选级别没有等级,其他级别根据分数是50的多少倍,计算级别,如果不是现在等级,保存各修改等级。若分数大于等于550,说明玩到了通关,停止游戏,显示恭喜消息框。,C#程序设计,调用CheckSnake方法判断蛇是否死亡,如果死亡,停止游戏。蛇的自动运行是由系统每隔一定时间自动调用此方法,当时间控件(timer)的Enable属性设置为true时,时间控件可用,设置为false时,时间控件不可用。通过下面语句启动游戏和停止游戏。timer1.Enable=true;/启动游戏timer1.Enable=false;/停止游戏,C#程序设计,C#程序设计,3各菜单事件方法1)“开始/重新开始”菜单功能:游戏开始或重新开始游戏;若本菜单项为“开始”,改为“重新开始”;并且“暂停”菜单项可用。设计思路及步骤:设置时间控件(timer1)的Enable属性为true。判断菜单文字是否为“开始”用语句:menuItem2.Text=“开始”;设置“暂停”菜单项的Enabled属性为true,使菜单项可用。当菜单项文字为“重新开始”时,调用floor对象的ReSet方法重新开始游戏。,C#程序设计,C#程序设计,2)“暂停/继续”菜单功能:设置程序暂停运行或继续运行。,C#程序设计,3)“退出”菜单功能:退出程序,用窗体的Close方法。4)“级别”菜单项的“第N级”子菜单功能:此菜单项的第一级到第五级全是设置游戏级别。设计思路设置时间控件的Interval属性为一定的值,游戏级别和分数,然后显示出来。,C#程序设计,C#程序设计,5)“自定义速度”子菜单功能:通过显示自定义速度(Speed)窗体,设置游戏的速度。设计思路设置游戏速度时,游戏要停下来,设置好后继续;创建Speed实例,模式显示它;设置好速度值后把速度赋给PubClass类的kk静态属性保存,并设置时间控件(timer)的Interval属性。,C#程序设计,非模式窗体和模式窗体的区别创建新非模式窗体后,立即返回,且没有在当前活动窗体和新窗体间建立任何关系,即在保持新窗口的情况下关闭(或最小化)现有窗体或在保留现有窗体情况下关闭(或最小化)新窗口,都是可以的。创建模式窗体后,只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。即如果不关闭新窗口,将无法对原活动窗口进行任何操作。对新窗口进行的最小化、还原将会和原窗口一起进行,但是新窗口的关闭对原窗口没有影响。需要注意的是,不管是何种情况,只要主窗体被关闭了,或主程序结束了,那么Application.Run将会关闭所有窗体,不管它是模式还是非模式。,C#程序设计,窗体调用任何窗体(派生于基类Form的类),都可以以两种方式进行显示。/非模式窗体Fromqform=newForm();qform.Show();/模式窗体Formqform=newForm();qform.ShowDialog();6)“帮助”子菜单功能:在一个消息框中显示帮助信息。,C#程序设计,问题探究,本章学习了使用类和对象、GDI+绘图来创建项目。类是面向对象程序设计的一个基本概念,是对一组类似的对象的一般化描述,它包括:字段、属性、方法和事件几类成员。类是创建对象的模板,由类创建对象,可由下式表示它们的关系。,C#程序设计,具体化(创建)类对象抽象字段是描述类特征的成员,如果需要描述类的哪方面的特征,就要设置一个相应的字段;属性是为了访问隐藏数据(字段)的,如果字段的数据需要在类外访问,就要定义相应的属性;方法是类能做的事情;事件是对象接受外部操作而发生的动作。,C#程序设计,类成员有非静态和静态之分非静态成员属于对象对象名.成员名静态成员属于类成员类名.成员名。构造函数构造函数的重载如果声明类时不包含任何构造函数,系统会给它创建一个默认的空构造函数,如果声明类时创建了一个构造函数,默认的空构造函数就没有了,需要的话就要声明一个。,C#程序设计,GDI+为Windows应用程序开发提供了一组用于图形图像编程的类、结构和枚举。用GD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广西壮族自治区村级后备干部选拔考试题(含答案)
- 2025年光伏电站智能化运维人才培养与职业发展规划报告
- 2025年教育系统后备干部考试题库及答案
- 2025年核心制度试题附答案
- 2025年美容师(技师)考试题库及答案
- 2025年教师资格证结构化面试问题及答案
- 2025年大学人文教育专业题库- 个体发展与人文教育的关系
- 2025年大学武术与民族传统体育专业题库- 大学武术专业的技艺与功法
- 2025年乡村医生资格考试:农村传染病防治病原学试题型
- 2025年大学移民管理专业题库- 移民性别与社会平等权益
- 化工厂实习安全培训课件
- 疏浚清淤工程合同协议书
- 电子电子技术试题及答案
- 2025项目管理考试题及答案
- 五年级篮球培训课件
- 护林员巡护安全知识培训课件
- 辽宁省2025年中考英语真题附答案
- 喷涂基础知识培训课件
- 2025年驻外内聘考试题库
- 幼儿园教师防恐防暴安全知识培训
- 中国禁毒法课件
评论
0/150
提交评论