项目:贪吃蛇游戏设计 常州工程职业技术学院 计算机技术系.

Slides:



Advertisements
Similar presentations
广州市小学信息技术教学同步资源 第一册 第二章 第六节 《 Window窗口》 广州市荔湾区西华路小学 董绮珊.
Advertisements

C#程序设计 项目八 绘制中国象棋棋盘.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
基于“贪吃蛇”游戏的C#大案例剖析 邓锐.
插入超链接 高邮市第一实验小学 范太国 任务一:设置文本超链接 任务一:设置文字超链接 步骤:1、选定文字并右击,在快捷菜单 中选择“超链接”命令。 2、在弹出的对话框中选择左侧“链接到:”中的“本文档中的位置(A)”项,在“请选择文档中的位置(C):”中选择需要链接的幻灯片,单击“确定”按钮。
UI(用户界面)集训班 Illustrator 高级班.
Oracle数据库 Oracle 子程序.
项目:贪吃蛇游戏设计 工作任务八:主界面(Start)类
项目:贪吃蛇游戏设计 工作任务五:场地(Floor)类设计 工作任务六:公共(PubClass)类设计 工作任务七:自定义速度(Speed)类设计 常州工程职业技术学院 计算机技术系.
项目:贪吃蛇游戏设计 常州工程职业技术学院 计算机技术系.
第14章 c++中的代码重用.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
在PHP和MYSQL中实现完美的中文显示
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
Hadoop I/O By ShiChaojie.
面向对象建模技术 软件工程系 林 琳.
第八章 菜单设计 §8.1 Visual FoxPro 系统菜单 §8.2 为自己的程序添加菜单 §8.3 创建快捷菜单.
6.4 Notification 通知栏.
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
研发内部系统 Pdc简要说明 2013年7月.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
PaPaPa项目架构 By:Listen 我在这.
项目:通讯录管理系统设计 常州工程职业技术学院 计算机技术系.
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
程序设计工具实习 Software Program Tool
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
C#面向对象程序设计 $6 深入理解类.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
第 12 章 視窗介面進階.
VB与Access数据库的连接.
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
Web安全基础教程
第4章 Excel电子表格制作软件 4.4 函数(一).
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
iSIGHT 基本培训 使用 Excel的栅栏问题
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
LOGIX500软件入门 西安华光信息技术有限公司 2008年7月11日.
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Chapter 18 使用GRASP的对象设计示例.
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
Visual Basic程序设计 第13章 访问数据库
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
辅导课程十五.
Delphi 7.0开发示例.
计算机绘图 AutoCAD2016.
Python 环境搭建 基于Anaconda和VSCode.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
基于列存储的RDF数据管理 朱敏
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
VB与Access数据库的连接.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

项目:贪吃蛇游戏设计 常州工程职业技术学院 计算机技术系

分析Start类、应用Timer控制系统 今日工作 任务八:界面(Start)类设计 1 分析Start类、应用Timer控制系统 a 分析设计并实现系统主菜单 3 b 贪吃蛇游戏扩展功能 4 c 完整项目汇报 、互评 2 工作总结 3 任务布置 4 结束 《WinForm项目开发》

分析Start类、应用Timer控制系统 各项目组汇报预设计、提出问题 互评、点评 问题解决 进一步解读系统需求 《WinForm项目开发》

分析Start类、应用Timer控制系统 此类继承自系统类System.Windows.Forms.Form,是本程序的主窗体。 Start类主要用了继承来的字段、属性、方法和事件,我们只是在Start类中通过添加控件及设置控件的属性添加了对象字段和对象属性字段。 《WinForm项目开发》

分析Start类、应用Timer控制系统 说明:通过向窗体上添加控件,系统会自动向窗体类中添加相应的对象字段,如本程序的mainMenu1、timer1、label1等,在类中对应的字段如下: private System.Windows.Forms.MenuStrip mainMenu1; public System.Windows.Forms.Timer timer1; private System.Windows.Forms.Label label1; 《WinForm项目开发》

分析Start类、应用Timer控制系统 _实现在用户定义的时间间隔引发事件的计时器,此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用 1)控件的属性 ⑴Enabled 属性 获取或设置计时器是否正在运行。 如果计时器当前处于启用状态,则为 true;否则为 false。默认为 false。 《WinForm项目开发》

分析Start类、应用Timer控制系统 ⑵Interval 属性 获取或设置计时器开始计时之间的时间(以毫秒为单位)。 计时器每次开始计时之间的毫秒数。该值不小于 1。 备注: 若要获取该时间间隔的秒数,将此数字除以 1,000。 2)Tick 事件 当指定的计时器间隔已过去而且计时器处于启用状态时发生。 如果需要自动运行,常用此控件。 《WinForm项目开发》

分析Start类、应用Timer控制系统 时间(timer1)控件的Tick 事件 ⑴功能 显示场地Floor对象(使蛇运动);显示游戏等级和分数;判断是否玩到了通关和蛇是否死亡。 ⑵设计思路 自选级别没有等级,其他级别根据分数是50的多少倍,计算级别,如果不是现在等级,保存各修改等级。 若分数大于等于550,说明玩到了通关,停止游戏,显示恭喜消息框。 《WinForm项目开发》

分析Start类、应用Timer控制系统 调用CheckSnake方法判断蛇是否死亡,如果死亡,停止游戏。 蛇的自动运行是由系统每隔一定时间自动调用此方法,当时间控件(timer)的Enable属性设置为true时,时间控件可用,设置为false时,时间控件不可用。 通过下面语句启动游戏和停止游戏。 -timer1.Enable=true;//启动游戏 -timer1.Enable=false;//停止游戏 《WinForm项目开发》

分析Start类、应用Timer控制系统 开始 显示运动场地 显示分数 计算现在的级别 现在级别不是原级数且不是自选速度? F T 设置新速度 保存现在级别到级数 显示级数 分数达到550了吗? F T 结束游戏 显示”恭喜”消息框 蛇死亡了吗? F T 结束游戏 结束 《WinForm项目开发》

分析Start类、应用Timer控制系统 窗体的KeyDown事件方法 键被按下时发生。 -事件处理程序接收一个 KeyEventArgs 类型的参数,它包含与此事件相关的数据。其中KeyValues获取按键的键值。 (37、38、39、40) -1)窗体的KeyDown事件方法 ⑴功能: 根据按键情况,调用蛇的TurnDirection方法,改变蛇的运行方向。 《WinForm项目开发》

分析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项目开发》

分析设计并实现系统主菜单 各项目组汇报预设计、提出问题 互评、点评 问题解决 进一步解读系统需求 《WinForm项目开发》

分析设计并实现系统主菜单 1、MenuStrip控件 MenuStrip 控件表示窗体菜单结构的容器。可以将ToolStripMenuItem 对象添加到表示菜单结构中各菜单命令的 MenuStrip中。 每个ToolStripMenuItem 可以成为应用程序的命令或其他子菜单项的父菜单 进入每个toolStripMenuItem命令的单击事件方法与其他控件相同,即通过双击此菜单项。 《WinForm项目开发》

分析设计并实现系统主菜单 2、“开始/重新开始”菜单 -1)功能: 游戏开始或重新开始游戏;若本菜单项为“开始”,改为“重新开始”;并且“暂停”菜单项可用。 《WinForm项目开发》

分析设计并实现系统主菜单 2)设计思路及步骤: (1)开始游戏:timer1.Enable=true。 (2)判断菜单是否为“开始” menuItem2.Text==“开始”; (3)设置“暂停”菜单项可用。 menuItem3.Enabled=true, (4)当菜单项为“重新开始”时,调用 floor.ReSet(); 《WinForm项目开发》

分析设计并实现系统主菜单 《WinForm项目开发》 开始 开始游戏 菜单文本为 ”开始”吗? T F 菜单文本改为”重新开始” 重新开始游戏 分数恢复为0 “暂停/继续”菜单可用 结束 《WinForm项目开发》

分析设计并实现系统主菜单 3、 “暂停/继续”菜单 ⑴功能:设置程序暂停运行或继续运行。 《WinForm项目开发》

分析设计并实现系统主菜单 4、“退出”菜单 功能:退出程序,用窗体的Close方法。 5、“级别”菜单项的“第N级”子菜单 ⑴功能:此菜单项的第一级到第五级全是设置游戏级别。 ⑵设计思路 设置时间控件的Interval属性为一定的值,游戏级别和分数,然后显示出来。 《WinForm项目开发》

《WinForm项目开发》

分析设计并实现系统主菜单 6、“自定义速度”子菜单 ⑴功能:通过显示自定义速度(Speed)窗体,设置游戏的速度。 ⑵设计思路 设置游戏速度时,游戏要停下来,设置好后继续;创建Speed实例,模式显示它;设置好速度值后把速度赋给PubClass类的kk静态属性保存,并设置时间控件(timer)的Interval属性。 《WinForm项目开发》

7、非模式窗体和模式窗体 分析设计并实现系统主菜单 创建新非模式窗体后,立即返回,且没有在当前活动窗体和新窗体间建立任何关系。 即在保持新窗口的情况下关闭(或最小化)现有窗体或在保留现有窗体情况下关闭(或最小化)新窗口,都是可以的。 《WinForm项目开发》

分析设计并实现系统主菜单 创建模式窗体后,只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。 即如果不关闭新窗口,将无法对原活动窗口进行任何操作。对新窗口进行的最小化、还原将会和原窗口一起进行,但是新窗口的关闭对原窗口没有影响。 需要注意的是,不管是何种情况,只要主窗体被关闭了,或主程序结束了,那么Application.Run将会关闭所有窗体,不管它是模式还是非模式。 《WinForm项目开发》

分析设计并实现系统主菜单 窗体调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示。 //非模式窗体 From qform=new Form(); qform.Show(); 《WinForm项目开发》

分析设计并实现系统主菜单 //模式窗体 Form qform=new Form(); qform.ShowDialog(); 6)“帮助”子菜单 功能:在一个消息框中显示帮助信息。 《WinForm项目开发》

项目总结 本章学习了使用类和对象、GDI+绘图来创建项目。 类是面向对象程序设计的一个基本概念,是对一组类似的对象的一般化描述,它包括:字段、属性、方法和事件几类成员。类是创建对象的模板,由类创建对象,可由下式表示它们的关系。 《WinForm项目开发》

项目总结 具体化(创建) 类 对象 抽象 字段是描述类特征的成员,如果需要描述类的哪方面的特征,就要设置一个相应的字段; 类 对象 抽象 字段是描述类特征的成员,如果需要描述类的哪方面的特征,就要设置一个相应的字段; 属性是为了访问隐藏数据(字段)的,如果字段的数据需要在类外访问,就要定义相应的属性; 方法是类能做的事情;事件是对象接受外部操作而发生的动作。 《WinForm项目开发》

项目总结 类成员有非静态和静态之分 非静态成员属于对象 对象名.成员名 静态成员属于类成员 类名.成员名。 -构造函数 -构造函数的重载 如果声明类时不包含任何构造函数,系统会给它创建一个默认的空构造函数,如果声明类时创建了一个构造函数,默认的空构造函数就没有了,需要的话就要声明一个。 《WinForm项目开发》

项目总结 GDI+为Windows应用程序开发提供了一组用于图形图像编程的类、结构和枚举。用GDI+绘图的基本步骤是: ①创建Graphics对象; -②创建画笔或画刷对象,并定义颜色; -③用Graphics对象方法画图。 绘制空心图形要用画笔,绘制实心图形要用画刷 《WinForm项目开发》

项目总结 另外往窗体上增加菜单用mainMenu控件;控制系统自动运行要用timer控件;枚举集合中的所有成员可用IEnumerator 接口对象。 《WinForm项目开发》

任务布置 1.课下进一步修改和扩展项目;把电子稿上传; 2.完成本任务的小结; 3.以小组为单位预设计下一项目《通讯录管理系统》的工作任务一解读需求分析;工作任务二:创建数据库;工作任务三:设计用户管理窗体 《WinForm项目开发》