当前位置:
文档之家› 贪吃蛇游戏设计ppt课件推荐
贪吃蛇游戏设计ppt课件推荐
–即在保持新窗口的情况下关闭(或最小化)现 有窗体或在保留现有窗体情况下关闭(或最小 化)新窗口,都是可以的。
WinForm项目开发》
分析设计并实现系统主菜单
–创建模式窗体后,只有当建立的新窗口关闭之 后,原有窗体才能重新获得控制权。
–即如果不关闭新窗口,将无法对原活动窗口进 行任何操作。对新窗口进行的最小化、还原将 会和原窗口一起进行,但是新窗口的关闭对原 窗口没有影响。
速度? T
设置新速度
保存现在级别到级数
显示级数
F
分数达到550了
吗?
T
结束游戏
显示”恭喜”消息框
F 蛇死亡了吗?
T 结束游戏
结束
分析Start类、应用Timer控制系统
窗体的KeyDown事件方法
–键被按下时发生。 -事件处理程序接收一个 KeyEventArgs 类型的参数,
它包含与此事件相关的数据。其中KeyValues获取按 键的键值。 (37、38、39、40) -1)窗体的KeyDown事件方法 ⑴功能: 根据按键情况,调用蛇的TurnDirection方法,改
分析设计并实现系统主菜单
各项目组汇报预设计、提出问题 互评、点评 问题解决
进一步解读系统需求
WinForm项目开发》
分析设计并实现系统主菜单
1、MenuStrip控件
–
MenuStrip 控件表示窗体菜单结构的容器。
可以将ToolStripMenuItem 对象添加到表示菜单结
构中各菜单命令的 MenuStrip中。
置游戏的速度。
⑵设计思路 –设置游戏速度时,游戏要停下来,设置好后 继续;创建Speed实例,模式显示它;设置好 速度值后把速度赋给PubClass类的kk静态属性 保存,并设置时间控件(timer)的Interval属性。
WinForm项目开发》
分析设计并实现系统主菜单
7、非模式窗体和模式窗体
–创建新非模式窗体后,立即返回,且没有在当 前活动窗体和新窗体间建立任何关系。
–
每个ToolStripMenuItem 可以成为应用程序的
命令或其他子菜单项的父菜单
进入每个toolStripMenuItem命令的单击事件方 法与其他控件相同,即通过双击此菜单项。
WinForm项目开发》
分析设计并实现系统主菜单
2、“开始/重新开始”菜单
-1)功能: 游戏开始或重新开始游戏;若本菜单项
private bel label1;
WinForm项目开发》
分析Start类、应用Timer控制系统
timer控件
_实现在用户定义的时间间隔引发事件的计时器,此 计时器最宜用于 Windows 窗体应用程序中,并且 必须在窗口中使用
–1)控件的属性 ⑴Enabled 属性 获取或设置计时器是否正在运行。 如果计时器当前处于启用状态,则为 true;否 则为 false。默认为 false。
•
38、有时间读书,有时间又有书读, 这是幸 福;没 有时间 读书, 有时间 又没书 读,这 是苦恼 。—— 莫耶
•
39、读书人不一定有知识,真正的常 识是懂 得知识 ,会思 想,能 工作。 ——徐 特立
•
•
34、读书无疑者,须教有疑,有疑者 ,却要 无疑, 到这里 方是长 进。 ——朱熹
•
•
35、举一而反三,闻一而知十,及学 者用功 之深, 穷理之 熟,然 后能融 会贯通 ,以至 于此。 ——朱 熹
•
36、我从未知道过有什么苦恼是不能 为一小 时的读 书所排 遣的。 ——孟 德斯鸠
•
•
37、喜爱读书,就等于把生活中寂寞 无聊的 时光换 成巨大 享受的 时刻。 ——孟 德斯鸠
WinForm项目开发》
项目总结
另外往窗体上增加菜单用mainMenu控件;控制 系统自动运行要用timer控件;枚举集合中的所 有成员可用IEnumerator 接口对象。
WinForm项目开发》
•
28、举一而反三,闻一而知十,及学 者用功 之深, 穷理之 熟,然 后能融 会贯通 ,以至 于此。 ――朱 熹
属性是为了访问隐藏数据(字段)的,如果字 段的数据需要在类外访问,就要定义相应的属性;
方法是类能做的事情;事件是对象接受外部操 作而发生的动作。
WinForm项目开发》
项目总结
–类成员有非静态和静态之分 非静态成员属于对象 –对象名.成员名 静态成员属于类成员
–类名.成员名。 -构造函数 -构造函数的重载 如果声明类时不包含任何构造函数,系统会给它 创建一个默认的空构造函数,如果声明类时创建 了一个构造函数,默认的空构造函数就没有了, 需要的话就要声明一个。
WinForm项目开发》
项目总结
GDI+为Windows应用程序开发提供了一组用于图 形图像编程的类、结构和枚举。用GDI+绘图的 基本步骤是:
–①创建Graphics对象; -②创建画笔或画刷对象,并定义颜色; -③用Graphics对象方法画图。
绘制空心图形要用画笔,绘制实心图形要用画刷
WinForm项目开发》
表7.4各级别分数和Interval属性值
级别 1 3 5 7 9
分数 0 100 200 300 400
Interval 500 400 300 200 100
WinForm项目开发》
分析设计并实现系统主菜单
6、“自定义速度”子菜单 ⑴功能:通过显示自定义速度(Speed)窗体,设
通过下面语句启动游戏和停止游戏。 -timer1.Enable=true;//启动游戏 -timer1.Enable=false;//停止游戏
WinForm项目开发》
分析Start类、应用Timer控制系统
WinForm项目开发》
开始 显示运动场地
显示分数 计算现在的级别
现在级别不是原
F
级数且不是自选
•
•
29、读书之乐乐陶陶,起并明月霜天 高。— —朱熹
•
•
30、读书之法无他,惟是笃志虚心, 反复详 玩,为 有功耳 。―― 朱熹
•
•
31、读书无疑者须教有疑,有疑者却 要无疑 ,到这 里方是 长进。 ——朱 熹
•
•
32、为学之道,莫先于穷理;穷理之 要,必 先于读 书。 ——朱熹
•
•
33、读书譬如饮食,从容咀嚼,其味 必长; 大嚼大 咀,终 不知味 也。 ——朱熹
进一步解读系统需求
WinForm项目开发》
分析Start类、应用Timer控制系统
一、 主界面(Start类)分析 此类继承自系统类System.Windows.Forms.Form,是
本程序的主窗体。 Start类主要用了继承来的字段、属性、方法和事
件,我们只是在Start类中通过添加控件及设置控 件的属性添加了对象字段和对象属性字段。
开始
N
暂停?
开始游戏
Y 停止游戏
改成“暂停”
改成“继续”
WinForm项目开发》
结束
分析设计并实现系统主菜单
4、“退出”菜单 功能:退出程序,用窗体的Close方法。
5、“级别”菜单项的“第N级”子菜单 ⑴功能:此菜单项的第一级到第五级全是设置 游戏级别。 ⑵设计思路
–设置时间控件的Interval属性为一定的值,游戏级别 和分数,然后显示出来。
项目:贪吃蛇游戏设计
WinForm项目开发》
今日工作
1 任务八:界面(Start)类设计
a 分析Start类、应用Timer控制系统
3b
分析设计并实现系统主菜单
4c
贪吃蛇游戏扩展功能
2
完整项目汇报 、互评
3
工作总结
4
任务布置
WinForm项目开发》
结束
分析Start类、应用Timer控制系统
各项目组汇报预设计、提出问题 互评、点评 问题解决
qform.Show();
WinForm项目开发》
分析设计并实现系统主菜单
//模式窗体 Form qform=new Form(); qform.ShowDialog(); 6)“帮助”子菜单 功能:在一个消息框中显示帮助信息。
WinForm项目开发》
项目总结
本章学习了使用类和对象、GDI+绘图来创建项目。
若分数大于等于550,说明玩到了通关,停止游 戏,显示恭喜消息框。
WinForm项目开发》
分析Start类、应用Timer控制系统
调用CheckSnake方法判断蛇是否死亡,如 果死亡,停止游戏。
蛇的自动运行是由系统每隔一定时间自动调用 此方法,当时间控件(timer)的Enable属性设置为 true时,时间控件可用,设置为false时,时间 控件不可用。
–需要注意的是,不管是何种情况,只要主窗体 被关闭了,或主程序结束了,那么 Application.Run将会关闭所有窗体,不管它 是模式还是非模式。
WinForm项目开发》
分析设计并实现系统主菜单 窗体调用
任何窗体(派生于基类Form的类),都可 以以两种方式进行显示。 //非模式窗体
From qform=new Form();
如果需要自动运行,常用此控件。
WinForm项目开发》
分析Start类、应用Timer控制系统
时间(timer1)控件的Tick 事件
–⑴功能 显示场地Floor对象(使蛇运动);显示游戏等
级和分数;判断是否玩到了通关和蛇是否死亡。ቤተ መጻሕፍቲ ባይዱ
–⑵设计思路 自选级别没有等级,其他级别根据分数是50
的多少倍,计算级别,如果不是现在等级,保存各 修改等级。
变蛇的运行方向。