Download presentation
Presentation is loading. Please wait.
1
项目:贪吃蛇游戏设计 常州工程职业技术学院 计算机技术系
2
分析Start类、应用Timer控制系统
今日工作 任务八:界面(Start)类设计 1 分析Start类、应用Timer控制系统 a 分析设计并实现系统主菜单 3 b 贪吃蛇游戏扩展功能 4 c 完整项目汇报 、互评 2 工作总结 3 任务布置 4 结束 《WinForm项目开发》
3
分析Start类、应用Timer控制系统
各项目组汇报预设计、提出问题 互评、点评 问题解决 进一步解读系统需求 《WinForm项目开发》
4
分析Start类、应用Timer控制系统
此类继承自系统类System.Windows.Forms.Form,是本程序的主窗体。 Start类主要用了继承来的字段、属性、方法和事件,我们只是在Start类中通过添加控件及设置控件的属性添加了对象字段和对象属性字段。 《WinForm项目开发》
5
分析Start类、应用Timer控制系统
说明:通过向窗体上添加控件,系统会自动向窗体类中添加相应的对象字段,如本程序的mainMenu1、timer1、label1等,在类中对应的字段如下: private System.Windows.Forms.MenuStrip mainMenu1; public System.Windows.Forms.Timer timer1; private System.Windows.Forms.Label label1; 《WinForm项目开发》
6
分析Start类、应用Timer控制系统
_实现在用户定义的时间间隔引发事件的计时器,此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用 1)控件的属性 ⑴Enabled 属性 获取或设置计时器是否正在运行。 如果计时器当前处于启用状态,则为 true;否则为 false。默认为 false。 《WinForm项目开发》
7
分析Start类、应用Timer控制系统
⑵Interval 属性 获取或设置计时器开始计时之间的时间(以毫秒为单位)。 计时器每次开始计时之间的毫秒数。该值不小于 1。 备注: 若要获取该时间间隔的秒数,将此数字除以 1,000。 2)Tick 事件 当指定的计时器间隔已过去而且计时器处于启用状态时发生。 如果需要自动运行,常用此控件。 《WinForm项目开发》
8
分析Start类、应用Timer控制系统
时间(timer1)控件的Tick 事件 ⑴功能 显示场地Floor对象(使蛇运动);显示游戏等级和分数;判断是否玩到了通关和蛇是否死亡。 ⑵设计思路 自选级别没有等级,其他级别根据分数是50的多少倍,计算级别,如果不是现在等级,保存各修改等级。 若分数大于等于550,说明玩到了通关,停止游戏,显示恭喜消息框。 《WinForm项目开发》
9
分析Start类、应用Timer控制系统
调用CheckSnake方法判断蛇是否死亡,如果死亡,停止游戏。 蛇的自动运行是由系统每隔一定时间自动调用此方法,当时间控件(timer)的Enable属性设置为true时,时间控件可用,设置为false时,时间控件不可用。 通过下面语句启动游戏和停止游戏。 -timer1.Enable=true;//启动游戏 -timer1.Enable=false;//停止游戏 《WinForm项目开发》
10
分析Start类、应用Timer控制系统
开始 显示运动场地 显示分数 计算现在的级别 现在级别不是原级数且不是自选速度? F T 设置新速度 保存现在级别到级数 显示级数 分数达到550了吗? F T 结束游戏 显示”恭喜”消息框 蛇死亡了吗? F T 结束游戏 结束 《WinForm项目开发》
11
分析Start类、应用Timer控制系统
窗体的KeyDown事件方法 键被按下时发生。 -事件处理程序接收一个 KeyEventArgs 类型的参数,它包含与此事件相关的数据。其中KeyValues获取按键的键值。 (37、38、39、40) -1)窗体的KeyDown事件方法 ⑴功能: 根据按键情况,调用蛇的TurnDirection方法,改变蛇的运行方向。 《WinForm项目开发》
12
分析Start类、应用Timer控制系统
开始 定义整型变量k,d 读取当前蛇的运行方向给d 取e.KeyValue给k 按向左光标键? T F d=3 按向下光标键? T F d=2 按向右光标键? T F d=1 按向上光标键? T d=0 F 调用蛇的TurnDirection方法 结束 《WinForm项目开发》
13
分析设计并实现系统主菜单 各项目组汇报预设计、提出问题 互评、点评 问题解决 进一步解读系统需求 《WinForm项目开发》
14
分析设计并实现系统主菜单 1、MenuStrip控件
MenuStrip 控件表示窗体菜单结构的容器。可以将ToolStripMenuItem 对象添加到表示菜单结构中各菜单命令的 MenuStrip中。 每个ToolStripMenuItem 可以成为应用程序的命令或其他子菜单项的父菜单 进入每个toolStripMenuItem命令的单击事件方法与其他控件相同,即通过双击此菜单项。 《WinForm项目开发》
15
分析设计并实现系统主菜单 2、“开始/重新开始”菜单 -1)功能:
游戏开始或重新开始游戏;若本菜单项为“开始”,改为“重新开始”;并且“暂停”菜单项可用。 《WinForm项目开发》
16
分析设计并实现系统主菜单 2)设计思路及步骤: (1)开始游戏:timer1.Enable=true。 (2)判断菜单是否为“开始”
menuItem2.Text==“开始”; (3)设置“暂停”菜单项可用。 menuItem3.Enabled=true, (4)当菜单项为“重新开始”时,调用 floor.ReSet(); 《WinForm项目开发》
17
分析设计并实现系统主菜单 《WinForm项目开发》 开始 开始游戏 菜单文本为 ”开始”吗? T F 菜单文本改为”重新开始”
重新开始游戏 分数恢复为0 “暂停/继续”菜单可用 结束 《WinForm项目开发》
18
分析设计并实现系统主菜单 3、 “暂停/继续”菜单 ⑴功能:设置程序暂停运行或继续运行。 《WinForm项目开发》
19
分析设计并实现系统主菜单 4、“退出”菜单 功能:退出程序,用窗体的Close方法。 5、“级别”菜单项的“第N级”子菜单
⑴功能:此菜单项的第一级到第五级全是设置游戏级别。 ⑵设计思路 设置时间控件的Interval属性为一定的值,游戏级别和分数,然后显示出来。 《WinForm项目开发》
20
《WinForm项目开发》
21
分析设计并实现系统主菜单 6、“自定义速度”子菜单 ⑴功能:通过显示自定义速度(Speed)窗体,设置游戏的速度。 ⑵设计思路
设置游戏速度时,游戏要停下来,设置好后继续;创建Speed实例,模式显示它;设置好速度值后把速度赋给PubClass类的kk静态属性保存,并设置时间控件(timer)的Interval属性。 《WinForm项目开发》
22
7、非模式窗体和模式窗体 分析设计并实现系统主菜单 创建新非模式窗体后,立即返回,且没有在当前活动窗体和新窗体间建立任何关系。
即在保持新窗口的情况下关闭(或最小化)现有窗体或在保留现有窗体情况下关闭(或最小化)新窗口,都是可以的。 《WinForm项目开发》
23
分析设计并实现系统主菜单 创建模式窗体后,只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。
即如果不关闭新窗口,将无法对原活动窗口进行任何操作。对新窗口进行的最小化、还原将会和原窗口一起进行,但是新窗口的关闭对原窗口没有影响。 需要注意的是,不管是何种情况,只要主窗体被关闭了,或主程序结束了,那么Application.Run将会关闭所有窗体,不管它是模式还是非模式。 《WinForm项目开发》
24
分析设计并实现系统主菜单 窗体调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示。 //非模式窗体
From qform=new Form(); qform.Show(); 《WinForm项目开发》
25
分析设计并实现系统主菜单 //模式窗体 Form qform=new Form(); qform.ShowDialog();
6)“帮助”子菜单 功能:在一个消息框中显示帮助信息。 《WinForm项目开发》
26
项目总结 本章学习了使用类和对象、GDI+绘图来创建项目。
类是面向对象程序设计的一个基本概念,是对一组类似的对象的一般化描述,它包括:字段、属性、方法和事件几类成员。类是创建对象的模板,由类创建对象,可由下式表示它们的关系。 《WinForm项目开发》
27
项目总结 具体化(创建) 类 对象 抽象 字段是描述类特征的成员,如果需要描述类的哪方面的特征,就要设置一个相应的字段;
类 对象 抽象 字段是描述类特征的成员,如果需要描述类的哪方面的特征,就要设置一个相应的字段; 属性是为了访问隐藏数据(字段)的,如果字段的数据需要在类外访问,就要定义相应的属性; 方法是类能做的事情;事件是对象接受外部操作而发生的动作。 《WinForm项目开发》
28
项目总结 类成员有非静态和静态之分 非静态成员属于对象 对象名.成员名 静态成员属于类成员 类名.成员名。 -构造函数 -构造函数的重载
如果声明类时不包含任何构造函数,系统会给它创建一个默认的空构造函数,如果声明类时创建了一个构造函数,默认的空构造函数就没有了,需要的话就要声明一个。 《WinForm项目开发》
29
项目总结 GDI+为Windows应用程序开发提供了一组用于图形图像编程的类、结构和枚举。用GDI+绘图的基本步骤是:
①创建Graphics对象; -②创建画笔或画刷对象,并定义颜色; -③用Graphics对象方法画图。 绘制空心图形要用画笔,绘制实心图形要用画刷 《WinForm项目开发》
30
项目总结 另外往窗体上增加菜单用mainMenu控件;控制系统自动运行要用timer控件;枚举集合中的所有成员可用IEnumerator 接口对象。 《WinForm项目开发》
31
任务布置 1.课下进一步修改和扩展项目;把电子稿上传; 2.完成本任务的小结;
3.以小组为单位预设计下一项目《通讯录管理系统》的工作任务一解读需求分析;工作任务二:创建数据库;工作任务三:设计用户管理窗体 《WinForm项目开发》
Similar presentations