软件综合实习剖析

上传人:我** 文档编号:115840944 上传时间:2019-11-15 格式:PPT 页数:46 大小:1.44MB
返回 下载 相关 举报
软件综合实习剖析_第1页
第1页 / 共46页
软件综合实习剖析_第2页
第2页 / 共46页
软件综合实习剖析_第3页
第3页 / 共46页
软件综合实习剖析_第4页
第4页 / 共46页
软件综合实习剖析_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《软件综合实习剖析》由会员分享,可在线阅读,更多相关《软件综合实习剖析(46页珍藏版)》请在金锄头文库上搜索。

1、 2015年10月 基于Android平台的俄罗斯方块的开发 主要内容 安卓平台简介 安卓平台的发展 安卓平台的组成 俄罗斯方块简介 项目需求分析 项目功能介绍 项目主要类介绍 结语 安卓平台简介 Android 是Google开发的基于Linux平台的开 源手机操作系统。它包括操作系统、用户界 面和应用程序移动电话工作所需的全部软 件,而且不存在任何以往阻碍移动产业创新 的专有权障碍。 安卓平台简介 Android操作系统最初由Andy Rubin开发,主 要支持手机。后来Android逐渐扩展到平板电 脑及其他领域上,如电视、数码相机、游戏 机等 安卓平台的发展 Android操作系统20

2、05年8月由Google 收购注资。2007年11月,Google与84家 硬件制造商、软件开发商及电信营运商组 建开放手机联盟共同研发改良Android系 统。 安卓平台的发展 Google与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩 托罗拉、高通、宏达电和 T-Mobile 在内 的30多家技术和无线应用的领军企业组 成。 安卓平台的发展 2011年第一季度,Android在全球的市场份额 首次超过塞班系统,跃居全球第一。 2013年09 月24日谷歌开发的操作系统Android在迎来了5 岁生日,全世界采用这款系统的设备数量已经 达到10亿台。2014年的第四季度

3、,Android平台 手机的全球市场份额已经达到81.5%。 安卓平台的发展 安卓历代版本纸杯蛋糕(Android 1.5),甜甜 圈(Android 1.6),松饼(Android 2.0/2.1) ,冻酸奶(Android 2.2),姜饼(Android 2.3 ),蜂巢(Android 3.0),冰激凌三明治( Android 4.0), 果冻豆 (Jelly Bean, Android4.1 和Android 4.2)。 安卓平台的组成 安卓平台的组成 应用程序层 应用程序框架层 系统运行库层 Linux内核 安卓平台的组成 应用程序层 Android会同一系列核心应用程序包一起 发布

4、,该应用程序包包括客户端,SMS 短消息程序,日历,地图,浏览器,联 系人管理程序等。所有的应用程序都是 使用JAVA语言编写的。 安卓平台的组成 应用程序框架层 开发人员也可以完全访问核心应用程序所使 用的API框架。该应用程序的架构设计简化了 组件的重用;任何一个应用程序都可以发布它 的功能块并且任何其它的应用程序都可以使 用其所发布的功能块(不过得遵循框架的安 全性)。同样,该应用程序重用机制也使用 户可以方便的替换程序组件。 安卓平台的组成 系统运行库层 Android 包含一些C/C+库,这些库能 被Android系统中不同的组件使用。它们 通过 Android 应用程序框架为开发者

5、提 供服务。 安卓平台的组成 Linux内核 Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程 管理,网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件堆栈之间的 硬件抽象层。 安卓平台的四大组件 活动(Activity) 服务(Service) 广播接收器(BroadcastReceiver) 内容提供商(Content Provider) 安卓平台的四大组件 活动(Activity) 用于表现功能。Android 中,Activity是 所有程序的根本,所有程序的流程都运 行在Activity 之中,Activity可以算是开 发者遇到的最

6、频繁,也是Android 当中 最基本的模块之一。 安卓平台的四大组件 服务(Service) 后台运行服务,不提供它跟Activity 的 级别差不多,但是他不能自己运行,只 能后台运行,并且可以和其他组件进行 交互。界面呈现。 安卓平台的四大组件 广播接收器(BroadcastReceiver) 在Android 中,Broadcast是一种广 泛运用的在应用程序之间传输信息 的机制。 安卓平台的四大组件 内容提供商(Content Provider) Content Provider 是Android提供的 第三方应用数据的访问方案。 俄罗斯方块简介 俄罗斯方块(Tetris)是一款由俄

7、罗斯人 阿列克谢帕基特诺夫于1984年6月发明的休闲 游戏。 俄罗斯方块的基本规则是移动、旋转和 摆放游戏自动输出的各种方块,使之排列成 完整的一行或多行并且消除得分。 需求分析 游戏区域上方不断地出现预定义形状的方块 ,下坠方块可以通过旋转改变其显示形状,并 且不断地往下坠,直到它接触到游戏区域底部 或者其他之前已经累叠起的下坠方块。游戏的 结束是以下坠方块的顶部到达游戏区域顶部作 为判断依据。 需求分析 当一个下坠方块到达游戏区域底部或者接触 到其他之前已经累叠起的下坠方块后,其位 置则确定下来并占有该空间的位置区域。当 游戏区域的某一行被下坠方块完全填充,则 消除该行的所有下坠方块,垒在

8、其上的方块 将按照一定的算法掉下代替改行空间。 需求分析 在游戏区域产生一个新的方块的一瞬间,立 即产生下一个下坠方块的形状并在提示区域 的左上方有预先提示。同时,在游戏界面的 右下方,将显示玩家所得的分数和游戏的级 别。每当游戏玩家成功消除一行方块时,将 按照一定的算法计算出所得分数,并修改游 戏状态区域的分数的数值,达到一定的分数 将修改游戏的级别。 需求分析 将整体界面分为三部分,左侧半部分用来存放 俄罗斯方块是游戏的活动区用户操作的图形 变化在这个主界面区完成。右上侧部分显示 下一次要产生的俄罗斯方块形状,以便用户预 先知道,增加游戏的可玩性。右侧下半部分用 来显示用户的分数以便让用户

9、有成就感增加 可玩性。 功能介绍 设计目标 建立一个基于Android的俄罗斯方块游戏软件 ,基本可以的满足人们对游戏的需求,系统具 有上手简单、操作方便快捷的特点。 功能介绍 操作介绍 玩家可以做的操作有:以90度为单位旋转方 块,以格子为单位左右移动方块,让方块加速 落下。 方块移到区域最下方或是着地到其他方块上 无法移动时,就会固定在该处,而新的方块出 现在区域上方开始落下。 功能介绍 操作介绍 当区域中某一行横向格子全部由方块填满, 则该行会消失并成为玩家的得分。同时删除的 行数越多,得分指数上升。 当固定的方块堆到区域最上方而无法消除行 数时,则游戏结束。 功能介绍 操作介绍 游戏还

10、会提示下一个要落下的方块,熟练的 玩家会计算到下一个方块,评估现在要如何进 行。 如果未被消除的方块堆放的高度超过场地所 规定的最大高度(并不一定是20或者玩家所能 见到的高度),则游戏结束。 功能介绍 通过设计者预先设置的随机发生器不断地输 出单个方块到场地顶部,以一定的规则进行移 动、旋转、下落和摆放,锁定并填充到场地中 。每次摆放如果将场地的一行或多行完全填满 ,则组成这些行的所有小正方形将被消除,并 且以此来得到一定的积分。而未被消除的方块 会一直累积,并对后来的方块摆放造成各种影 响。 功能介绍 游戏运行流程图 功能介绍 游戏架构介绍 用户模块 游戏模块 存储模块 工具模块 功能介绍

11、 游戏架构介绍 用户模块主要用于游戏画面的渲染。其中包 括游戏界面和界面管理两个模块,游戏界面主 要为游戏中出现的界面,比如:开始界面和游 戏中界面。界面管理包括开始、退出、暂停三 部分,主要为玩家提供控制游戏行进和退出。 功能介绍 游戏架构介绍 游戏实体模块主要用于后台游戏逻辑。本游 戏中仅有方块实体模块一部分。方块实体模块 主要负责对已落下、正在落下和即将落下的方 块图案的颜色和形状进行控制,核对正在落下 的方块图案的行进路线、形状变换进行控制。 功能介绍 游戏架构介绍 游戏实体模块 通过图形工厂类随机产生方块的某种状态。 方块的旋转是通过绘制4个方向的方块,在不同 旋转角度显示不同方向的

12、方块来完成的。所以 程序要控制方块的旋转方向,只要控制显示哪 副图就可以了。 功能介绍 游戏架构介绍 数据存储模块包括游戏中关卡数据的存储和 的分数据的存储。游戏每一次启动都将全部删 除上次启动时所产生的数据,重新进行新的数 据存储。后台运行时重新进入游戏不算做重启 游戏,故数据不会重置。 功能介绍 游戏架构介绍 工具类模块将自身的静态成员或者方法提供 给游戏中的其他类使用。 项目主要类的介绍 游戏的左、右、下的移动功能和上的变形功能的实现由TlieView和 TetrisView类来实现 右移功能实现 public boolean moveRightOnCourt(Court court)

13、Log.i(“tetris“,“here is moveRightOnCourt“); for (int i = 0; i 4; i+) for (int j = 0; j 4; j+) if (mTileij != 0) if ( !court.isSpace(mOffsetX + i + 1, mOffsetY + j) ) return false; +mOffsetX; return true; 项目主要类的介绍 游戏的左、右、下的移动功能和上的变形功能的实现由TlieView和 TetrisView类来实现 下移功能实现 public boolean moveDownOnCourt(

14、Court court) int i,j; for (i = 0; i 4; i+) for (j = 0; j = 2000 项目主要类的介绍 stagefang类是各种图形通过数组形式存储的 存储类。 项目主要类的介绍 onDraw类是功能类里实现图形的重新绘制。 protected void onDraw(Canvas canvas) super.onDraw(canvas); /paintLine(canvas); float width = getWidth(); float height = getHeight(); float xdis = getWidth() / 6.0f;

15、float ydis = getHeight() / 6.0f; Paint m_Paint = new Paint(); / 新建画笔 m_Paint.setStyle(Style.FILL); m_Paint.setColor(Color.WHITE); canvas.drawRect(0.0f, 0.0f, width, height, m_Paint); for(int i=0;i4;i+)/画下一个方块 for(int j=0;j4;j+) if(StateFang.stateData.aij!=0) m_Paint.setColor(StateFang.colorData.a/4); canvas.drawRect(j+1)*xdis+2, (i+1)*ydis+2, (j+2)*xdis-1, (i+2)*ydis-1,m_Paint);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号