项目:贪吃蛇游戏设计 工作任务八:主界面(Start)类

Slides:



Advertisements
Similar presentations
网络应用程序设计 2014 JavaBean. JavaBean 及其属性 JavaBean 就是一种 Java 的组件技术 JavaBean 是 Java 类 JavaBean 通过约定的方法名实现属性功能 简单属性 void setXxx(Type value) Type getXxx() boolean.
Advertisements

广州市小学信息技术教学同步资源 第一册 第二章 第六节 《 Window窗口》 广州市荔湾区西华路小学 董绮珊.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
Excel VBA视频教程 课程介绍-什么是VBA
项目:贪吃蛇游戏设计 工作任务一:系统设计(system design) 工作任务二:豆类(Bean)设计
UI(用户界面)集训班 Illustrator 高级班.
Oracle数据库 Oracle 子程序.
项目:贪吃蛇游戏设计 常州工程职业技术学院 计算机技术系.
项目:贪吃蛇游戏设计 工作任务五:场地(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.
走进编程 程序的顺序结构(二).
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
PostgreSQL 8.3 安装要点 四川大学计算机学院 段 磊
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
Windows 7 的系统设置.
用event class 从input的root文件中,由DmpDataBuffer::ReadObject读取数据的问题
程序设计工具实习 Software Program Tool
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
第二章 登录UNIX操作系统.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
简单介绍 用C++实现简单的模板数据结构 ArrayList(数组, 类似std::vector)
$9 泛型基础.
C++复习3 ----类的继承与派生.
C#面向对象程序设计 $6 深入理解类.
VisComposer 2019/4/17.
实验四、TinyOS执行机制实验 一、实验目的 1、了解tinyos执行机制,实现程序异步处理的方法。
VB与Access数据库的连接.
实验七 安全FTP服务器实验 2019/4/28.
工业机器人知识要点解析 (ABB机器人) 主讲人:王老师
Web安全基础教程
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系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 与控制系统仿真 魏新宇
辅导课程十五.
VRP教程 2011.
Delphi 7.0开发示例.
计算机绘图 AutoCAD2016.
Python 环境搭建 基于Anaconda和VSCode.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
基于列存储的RDF数据管理 朱敏
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
WEB程序设计技术 数据库操作.
本节内容 如何调试驱动程序? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

项目:贪吃蛇游戏设计 工作任务八:主界面(Start)类 常州工程职业技术学院 计算机技术系

工作任务八:主界面(Start)类 一、 主界面(Start类)分析 此类继承自系统类System.Windows.Forms.Form,是本程序的主窗体。 Start类主要用了继承来的字段、属性、方法和事件,我们只是在Start类中通过添加控件及设置控件的属性添加了对象字段和对象属性字段。 《C#程序设计》

《C#程序设计》

说明:通过向窗体上添加控件,系统会自动向窗体类中添加相应的对象字段,如本程序的mainMenu1、timer1、label1等,在类中对应的字段如下: private System.Windows.Forms.MainMenu mainMenu1; public System.Windows.Forms.Timer timer1; private System.Windows.Forms.Label label1; 《C#程序设计》

二、主界面(Start)类实现 timer控件 实现在用户定义的时间间隔引发事件的计时器此计时器最宜用于 Windows 窗体应用程序中,并且必须在窗口中使用。 1)控件的属性 ⑴Enabled 属性 获取或设置计时器是否正在运行。 如果计时器当前处于启用状态,则为 true;否则为 false。默认为 false。 《C#程序设计》

获取或设置计时器开始计时之间的时间(以毫秒为单位)。 计时器每次开始计时之间的毫秒数。该值不小于 1。 备注: ⑵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#程序设计》

功能:退出程序,用窗体的Close方法。 4)“级别”菜单项的“第N级”子菜单 ⑴功能:此菜单项的第一级到第五级全是设置游戏级别。 3)“退出”菜单 功能:退出程序,用窗体的Close方法。 4)“级别”菜单项的“第N级”子菜单 ⑴功能:此菜单项的第一级到第五级全是设置游戏级别。 ⑵设计思路 设置时间控件的Interval属性为一定的值,游戏级别和分数,然后显示出来。 《C#程序设计》

《C#程序设计》

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

非模式窗体和模式窗体的区别 创建新非模式窗体后,立即返回,且没有在当前活动窗体和新窗体间建立任何关系,即在保持新窗口的情况下关闭(或最小化)现有窗体或在保留现有窗体情况下关闭(或最小化)新窗口,都是可以的。 创建模式窗体后,只有当建立的新窗口关闭之后,原有窗体才能重新获得控制权。即如果不关闭新窗口,将无法对原活动窗口进行任何操作。对新窗口进行的最小化、还原将会和原窗口一起进行,但是新窗口的关闭对原窗口没有影响。 需要注意的是,不管是何种情况,只要主窗体被关闭了,或主程序结束了,那么Application.Run将会关闭所有窗体,不管它是模式还是非模式。 《C#程序设计》

任何窗体(派生于基类Form的类),都可以以两种方式进行显示。 窗体调用 任何窗体(派生于基类Form的类),都可以以两种方式进行显示。 //非模式窗体 From qform=new Form(); qform.Show(); //模式窗体 Form qform=new Form(); qform.ShowDialog(); 6)“帮助”子菜单 功能:在一个消息框中显示帮助信息。 《C#程序设计》

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

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

类成员有非静态和静态之分 非静态成员属于对象 对象名.成员名 静态成员属于类成员 类名.成员名。 构造函数 构造函数的重载 如果声明类时不包含任何构造函数,系统会给它创建一个默认的空构造函数,如果声明类时创建了一个构造函数,默认的空构造函数就没有了,需要的话就要声明一个。 《C#程序设计》

GDI+为Windows应用程序开发提供了一组用于图形图像编程的类、结构和枚举。用GDI+绘图的基本步骤是: ①创建Graphics对象; ②创建画笔或画刷对象,并定义颜色; ③用Graphics对象方法画图。 绘制空心图形要用画笔,绘制实心图形要用画刷。 另外往窗体上增加菜单用mainMenu控件;控制系统自动运行要用timer控件;枚举集合中的所有成员可用IEnumerator 接口对象。 《C#程序设计》