项目:贪吃蛇游戏设计 工作任务一:系统设计(system design) 工作任务二:豆类(Bean)设计

Slides:



Advertisements
Similar presentations
主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
Advertisements

Java 程序分类 Java Application :是完整程序,需要独立的解 释器解释运行;以 “.java” 为后缀的文件,以 main() 方法作为程序入口,由 java 编译器编译生 成字节码,由 Java 解释器加载执行字节码。 Java Applet 没有 main() 方法作为程序入口,是嵌在.
单元二:面向对象程序设计 任务二:借书卡程序设计.
第四章 类、对象和接口.
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
项目7 面向对象高级.
项目6 通用堆栈.
Hello小程序的运行和编译 Java AppletJava小程序的构成 1、关键字
第7章 C#函數與.NET Framework類別函數庫
设计模式可以帮助我们改善系统的设计,增强 系统的健壮性、可扩展性,为以后铺平道路。
Java Applet的运行原理 在网页向Java Applet传值 在Java Applet中播放声音 在Java Applet中使用组件
第11章 Java多媒体技术.
第14章 图形与图像 14.1 绘制文本 14.2 绘制基本图形 14.3 建立字体 14.4 清除 14.5 Java 2D
14 繪圖與動畫 [我的小畫家][打磚塊遊戲] 14-1 繪圖的基礎 14-2 滑鼠事件與基本繪圖 14-3 在Bitmap物件繪圖
第13章多项目设计与开发.
C#程序设计 10软件1、2班 王槐彬 计算机工程学院.
项目:贪吃蛇游戏设计 工作任务三:块类(Block)设计 工作任务四:蛇类(Snake)设计
類別與物件 Class & Object.
AOP实践 演讲人:陈思荣.
第三章 控制结构.
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
2018/11/20 第一章 Java概述 武汉大学计算机学院计算机应用系 2018/11/20 14:33.
项目五 窗体上绘图 任务列表: 1、在窗体上绘制各种基本图形 2、在窗体上绘制文本.
快乐玩转eclipse plugin插件开发之swt
C#图形程序设计基础 1 GDI+绘图基础 2 基本图形的绘制 3 实用图形程序设计.
Ch13 集合與泛型 物件導向程式設計(2).
Windows 程式設計 (使用 C++ / C#)
程式設計實作.
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
C#程序设计 c# programming GDI+绘图 C#程序设计课程组.
Java语言程序设计 第八部分 Applet小程序.
2D / 3D 遊戲程式設計入門 使用 XNA 3.0 與 C# 2D圖形與字型的呈現.
C#面向对象程序设计 $7 继承和多态性.
第6章 继承和接口设计 6.1 继 承 6.2 多态性 6.3 抽象类 6.4 接口 6.5 接口在集合排序中的应用.
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 17 章 物件.
視窗程式設計 (Windows Programming)
Windows Form绘图类及其简介.
第12章 繪圖與多媒體 12-1 繪圖的基礎 12-2 繪出文字和圖形 12-3 載入與顯示圖形檔案 12-4 建立多媒體的動畫效果
2019/1/16 Java语言程序设计-类与对象 教师:段鹏飞.
谭浩强 编著 中国高等院校计算机基础教育课程体系规划教材 C++程序设计.
C/C++/Java 哪些值不是头等程序对象
$10 可空类型.
C#程序设计基础 第二章 数据类型.
資訊學科中心研習 JAVA程式設計專題 臺北市立大理高級中學 黃世隆 2019/2/23.
第六章 属性、索引器、委托和事件.
P2P聊天工具.
Animation(動畫) 靜宜大學資工系 蔡奇偉 副教授
第7章 繼承/多型/介面 注意: 本投影片僅供本書上課教師使用,非經同意請勿上網轉載或供拷貝.
第6章 GDI+编程 GDI+ 已完全替代 GDI,以图形图像作为对象,可在 Windows 窗体应用程序中以编程方式绘制或操作图形图像。虽然无法对 Web 窗体直接使用 GDI+,但可以通过 Web 服务器的“图像”(Image) 控件显示图形图像。 处理图像图形包括创建 Graphics 对象,使用.
JAVA 编 程 技 术 主编 贾振华 2010年1月.
《JAVA程序设计》 语音答疑 辅导老师:高旻.
劉崇汎 崑山科技大學 電腦與通訊系 DLL的建立與引用 劉崇汎 崑山科技大學 電腦與通訊系
C#程序设计基础 $3 成员、变量和常量.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
第四章 类 4.1 基础知识 4.2 构造函数 4.3 方法 4.4 属性与索引 4.5 String类
Interfaces and Packages
Object-Oriented Programming in C++ 第二章 类和对象
第二章 Java语法基础.
本节内容 对象拷贝 视频提供:昆山爱达人信息技术有限公司.
本节内容 函数嵌套调用的内存布局 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
C++语言程序设计 C++语言程序设计 第八章 继承 C++语言程序设计.
第6單元 6-1 類別的繼承 (Class Inheritance) 6-2 抽象類別 (Abstract Class)
C# 匿名委派 + Lambda + Func 建國科技大學 資管系 饒瑞佶.
第2章 Java语言基础.
Applet.
05 方法. 05 方法 5.1 方法 在一個較大型的程式中,通常會將具有特定功能或經常重複使用的程式,撰寫成獨立的小單元,稱為「方法」(Method),並賦予方法一個名稱,當程式需要時就可以呼叫此方法來執行該段特定程式。(此種重複使用的程式小單元在其他語言中可能稱為程序、副程式或函式, Visual.
本节内容 在堆中创建对象 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
变量定位图形 Java中数据的类型分为四种:基本数据类型、数组类型、类类型以及接口类型。任何常量和变量都一定是上述四种数据类型中的一种。简单数据类型的实例化有两种:变量和常量。 变量名和常量名必须是Java语言中合法的标识符。 常量是在程序运行期间值不改变的量。 变量是在程序运行期间值可通过赋值改变的量,
Presentation transcript:

项目:贪吃蛇游戏设计 工作任务一:系统设计(system design) 工作任务二:豆类(Bean)设计 常州工程职业技术学院 计算机技术系

工作目标 终极目标 主界面: 《C#程序设计》

自定义速度界面 《C#程序设计》

促成目标 1. 完成贪吃蛇游戏Bean类设计; 2. 完成贪吃蛇游戏Block类设计; 3. 完成贪吃蛇游戏Snake类设计; 4.   完成贪吃蛇游戏Floor类设计; 5.   完成贪吃蛇游戏Form1类设计(界面); 6.   完成贪吃蛇游戏窗体菜单设计; 7.   完成贪吃蛇游戏键盘操作处理; 8.   完成贪吃蛇游戏程序自动运行。 《C#程序设计》

工作任务 工作任务一:总体设计 工作任务二:Bean类的实现 工作任务三:Block类的实现 工作任务四:Snake类的实现 工作任务五:Floor类的实现 工作任务六:PubClass类的实现 工作任务七:Speed类的实现 工作任务八:主界面(Start类)的实现 《C#程序设计》

知识准备—类与对象 类、对象、字段、属性和方法 类的基本概念 抽象化 对象 类 具体化 对象(实体) (分)类 男人、女人、高人、矮人、胖人 狗、猫、兔、鸡、狼 动物 台式电脑、笔记本电脑、服务器 电脑 抽象化 对象 类 具体化 《C#程序设计》

类的特征数据:用字段表示(变量) 类的行为:用方法表示 知识准备—类与对象 如人:年龄、名字和身高等; 动物:毛的颜色、腿的数量和跑的速度等; 电脑:CPU型号、CPU品牌、内存容量等。 类的行为:用方法表示 如人:能走路、干活等; 动物:能跑、找食等; 电脑:能帮助我们处理事务、计算表达式的值 《C#程序设计》

知识准备—类与对象 类的字段和方法都叫类的成员。 类是对象的模板,定义类的目的是为了描述具体的对象。 实例:设计汽车类(Car)

知识准备—类与对象 2.程序解读 ⑴类定义 class 类名 { 类体(类成员) } ⑵类成员的访问属性private和public

知识准备—类与对象 ⑶字段 类中的字段实际上是变量,因此字段的定义与变量定义相同,形式如下: 数据的访问说明符 数据类型 字段名 ⑷方法 小汽车能启动也能停下来,所以分别用Start方法和Stop方法模汽车的起动和停止。 《C#程序设计》

知识准备—类与对象 ⑸创建对象 分两步: ①声明对象 类名 对象名; 如:Car myCar; ②对象实例化 对象名=new 类名(); 如:myCar=new Car(); 由类创建了对象后,每一个对象都有了类中的所有非静态成员,即对象myCar具有了wheels、trademark、maxspeed字段和Start和Stop方法。 《C#程序设计》

知识准备—类与对象 上面创建类对象的两步可以合并成一步: 类名 对象名=new类名(); 如:Car myCar=new Car(); ⑹类成员的访问 在类的作用域内即在类的内部,成员可以由类的所有方法直接访问,并可用它的名字进行引用。 在类的作用域外即在类的外部,对象成员的存取必须通过该类或该类的对象和点操作符(类成员存取操作符)来存取。 对象的成员存取方式如下: 对象.成员名 《C#程序设计》

知识准备—类与对象 属性 属性主要是用来访问字段的,它有访问器。这些访问器用来读取或写入字段值,也可以对字段和属性进行计算,然后将计算结果给相应的字段。 属性也需要声明,格式如下: 类型 属性名 { 访问器声明 } 《C#程序设计》

知识准备—类与对象 属性的访问器: 1)get访问器 通过get访问器读取字段值。get访问器与无参数的方法结构相似,它必须返回一个属性类型的值。 2)set访问器 通过set访问器给字段赋值。set访问器与具有单个属性类型值参数和返回void的方法结构相似,这个属性类型值参数是它隐含的名为value的参数。在set访问器中最简单的是把value值赋给字段。 《C#程序设计》

知识准备—类与对象 如:private int wheels;//私有字段:轮子个数   public int Wheels//访问wheels的属性 { get return wheels; } set wheels=value; 《C#程序设计》

知识准备—类与对象 根据类中属性的实际需要,把属性分成下面几种: 1)读写属性:包括get和set两个访问器,既能读取属性值,也能向属性写入。 2)只读属性:只包括get访问器,即只能读取属性值。 3)只写属性:只包括set访问器,即只能向属性写入。 《C#程序设计》

知识准备—类与对象 实例构造函数 1.构造函数 构造函数是与类同名的特殊方法成员。它是实现初始化类实例所必须操作的成员。 构造函数名(可选形参表) { 方法体 } 《C#程序设计》

知识准备—类与对象 默认构造函数 在C#中,如果类不包括任何实例构造函数声明,则自动提供一个默认的无参数实例构造函数。 如:上例中语句myCar=new Car();中的Car(),它是默认的构造函数,形式如下: public Car() { } 并使用默认值初始化对象字段。 默认:数值类型为0,bool为false,引用为null 《C#程序设计》

知识准备—类与对象 ⒊实例构造函数重载 ⒋程序解读 定义:当类定义中含有两个以上其参数个数或类型或种类不同的实例构造函数时,称为实例构造函数重载。 ⒋程序解读 1)程序中两种构造函数比较 程序中添加了两个类的构造函数,一个是空构造函数;一个是带参数的构造函数。 ⑴空构造函数 public Car()//空构造函数 { } 《C#程序设计》

知识准备—类与对象 用此构造函数创建的类对象,是没有具体值的对象,只是把对象字段设置为默认值:数值类型为0,bool类型为false,引用类型为null。 注意:创建了带参数的构造函数后,要用空构造函数实例化对象,必须创建此空构造函数,否则出现编译错误。 ⑵带参数的构造函数 public Car( string tr, int wh,float mas)//带参数的构造函数 { trademark = tr; wheels = wh; maxspeed = mas; } 用此构造函数创建类对象,要传递三个参数,在函数体中依次初始化三个字段,这样用此构造函数创建的对象就是具体的对象了。 《C#程序设计》

知识准备—类与对象 2)程序中两种实例化对象比较 ⑴用空构造函数实例化对象 由于用此创建的对象不是具体的,还得对字段赋值后才能使用。 myCar1 = new Car();//实例化对象 myCar1.Wheels = 4; myCar1.Maxspeed = 230; myCar1.Trademark = "宝马";//给字段赋值 output = myCar1.car_message(); ⑵用带参数的构造函数实例化对象 由于用此创建的对象是具体对象,所以可以直接使用 myCar2 = new Car("红旗",4,180);//实例化对象 output = myCar2.car_message(); 《C#程序设计》

工作任务一:总体设计 项目功能描述 主窗体布局 项目的总体结构 Start类是顶层类,它主要调用Floor类来显示场地,另外还要使用Speed类和PubClass类; Floor类调用Snake类和Bean类在场地上显示蛇和豆; Snake类调用Block类来组成蛇。 《C#程序设计》

工作任务二:Bean类 豆(Bean)类分析 public void Display(Graphics g) 1)豆类的字段 private Point origin; 2)属性: public Point Origin 3)方法: public void Display(Graphics g) public void UnDisplay(Graphics g) 《C#程序设计》

工作任务二:Bean类 豆(Bean)类实现 1.字段和属性 注意字段和属性的类别是Point结构类型的。 Point 结构 Point结构表示在二维平面中定义点的整数 X 和 Y 坐标的有序对。 命名空间:System.Drawing Point结构有两个属性:X—获取或设置此Point的X坐标;Y—获取或设置此Point的Y坐标。 ⑵读取和设置属性 结构变量.属性; 如: pt1.X=23;//写入属性 int z=pt1.X;// 读取属性 《C#程序设计》

工作任务二:Bean类 2.方法 1)Display方法 ⑴功能:在显示器上显示一个豆(实心正方形) ⑵设计思路: 直接在场地(窗体)上画一个5*5的实心矩形。 《C#程序设计》

知识准备——GDI+ GDI+(Graphics Device Interface Plus)是Microsoft的新一代二维图形系统,它是完全面向对象的。 GDI+包括3部分:二维矢量图形绘制、图像处理和文字显示。要在Windows窗体中显示文字或绘制图形,必须要使用GDI+。 GDI+提供了多种画笔、画刷、图像等图形对象,GDI+使用的各种类大都包含在命名空间System.Drawing中。 《C#程序设计》

知识准备——GDI+ C#中用GDI+画基本图形的步骤: ①创建Graphics对象 ②创建画笔或画刷对象 ③用Graphics对象方法画图

知识准备——GDI+ 创建Graphics对象 1.调用某控件或窗体的 CreateGraphics 方法来获取对 Graphics 对象的引用,如: Graphics g; g=this.CreateGraphics(); 2.接收对图形对象的引用,该对象为窗体或控件的Paint事件中PainEventArgs的一部分。在为控件创建绘制代码时,通常会使用此方法来获取对图形对象的引用。 《C#程序设计》

知识准备——GDI+ Color结构 表示一个RGB颜色 所在的命名空间:System.Drawing 可利用Color结构的一个对象来指定画笔、画刷和其他在Graphics画图表面使用的工具的颜色。 Color结构中的静态属性成员定义了很多系统颜色,要用这些系统颜色,可以直接从Color结构的属性中读取。 如:Color.Red//读取系统的红色 Color.Black//读取系统的黑色 《C#程序设计》

知识准备——GDI+ 创建画刷 画刷是从类Brush中派生的,从此抽象基类派生出的类定义用于填充图形形状(如矩形、椭圆形、扇形、多边形和封闭路径)内部的对象和呈现文本对象。最常用的是SolidBrush,它的构造函数为 SolidBrush(颜色); 如用此构造函数创建一个画刷: SolidBrush redBrush=new SolidBrush(Color.Red); 《C#程序设计》

知识准备——GDI+ GDI+ 坐标系统 GDI+ 在坐标系统中绘制直线、矩形和其他图形。您可以从各种各样的坐标系统中选择,但默认坐标系统的原点是在左上角,并且 x 轴指向右边,y 轴指向下边。默认坐标系统的度量单位是像素。 《C#程序设计》

知识准备——GDI+ 画实心矩形(填充)方法 g.FillRectangle(Brush brush,int x,int y,int width,int height); 其中:x、y是所画矩形左上角的坐标,width是矩形的宽度,height是矩形的高度,brush是前面所定义的画刷。 如:g.FillRectangle(redBrush,24,23,100,233); 注意: 在C#中画实心图形必须用画刷和Fill类方法。 《C#程序设计》

工作任务二:Bean类 2.方法 1)Display方法 传递的参数是一个Graphics对象: 第一步创建红色画刷 SolidBrush b=new SolidBrush(Color.Red); 第二步画一实心矩形 g.FillRectangle(b,origin.X,origin.Y,5,5); 《C#程序设计》

工作任务二:Bean类 2)UnDisplay方法 ⑴功能:把显示在显示器上的豆(实心正方形)给消除掉。 ⑵设计思路:在原位置重新画豆(5*5的实心正方形)。与上面不同的是,用背景颜色重新画,消除了原来的豆。 《C#程序设计》

总结 类与对象的概念; 类的成员及其功能; 用GDI+绘制简单图形的方法。 《C#程序设计》