2022年基于Android的俄罗斯方块的设计与实现课程设计报告.docx
《2022年基于Android的俄罗斯方块的设计与实现课程设计报告.docx》由会员分享,可在线阅读,更多相关《2022年基于Android的俄罗斯方块的设计与实现课程设计报告.docx(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源湖南商学院移动互联网应用开发课程设计报告题 目 基于 Android 地俄罗斯方块地设计与实现学号 :专业 :班级 :指导老师 :职称 :运算机与信息工程学院2021 年 11 月课程设计评审表等级 成果组成优秀良好中等及格不及格平时成果1考勤满勤2 作业全,均在 A 以上.3 实 验 报 告1考勤 90%到1考勤 80%到1考勤 70%到90%B以2 作 业全,均在上.80%B以2 作 业全,均在上.70%C 以1. 考勤 70% 以下.2. 作业2 作 业全,均在上.70% 以全,均在上.A 以3 实 验 报 告3 实 验 报 告3 实 验 报 告90%全,均在以上.B80%全
2、,均在以上 .B70%全,均在以上 .C下 , 或 均 在 C以下 .3 实 验 报 告70% 以下,或均在 C 以下 .姓名 :欢迎下载精品学习资源欢迎下载精品学习资源1 完全依据课程设计文档规范设要求 .计2 结构合理、文层次清楚 .设计具体 .实 、 设 计 较详实 、 设 计 较详实 、 设 计 欠 详实 、 设 计 不 详细.细.细.细.档3 内容充实、1完全依据课程设计文档规范要求.2 结 构 较 合理 、 层 次 较 清楚.3 内 容 较 充1 基本依据课程设计文档规范要求 .2 结 构 较 合理 、 层 次 较 清楚.3 内 容 较 充1 基本依据课程设计文档规范要求 .2 结
3、 构 欠 合理 、 层 次 欠 清楚.3 内 容 欠 充1没有依据课程设计文档规范要求 .2 结 构 不 合理 、 层 次 不 清楚.3 内 容 不 充欢迎下载精品学习资源欢迎下载精品学习资源1. 布局合理 .课 界 2 界面美观, 程 面 色调和谐,风格设 设 统一 .计 计 3无链接错误 .成果1 能够很好地完成课程设计题目地基本功能 .2 可以完成异功 常数据和边界数能 据地友好处理 . 设 3 类与接口地计 设计合理 .4 功能实现无错误 .1布局较合理 .2 界 面 较 美观,色调和谐, 风格统一 .3无链接错误 .1. 能够很好地完成课程设计题目地基本功能 .2. 基本可以完成反常
4、数据和边界数据地友好处理.3. 类与接口地设计合理 .4. 功能实现错误较少 .1布局较合理 .2 界 面 较 美观,色调和谐, 风格统一 .3 链接错误很少.1 能够很好地完成课程设计题目地基本功能 .2 基本可以完成反常数据和边界数据地友好处理.3 类与接口地设计较合理 .4 功能实现错误较少 .1. 布局欠合理 .2. 界面欠美观 .3. 链接错误较少.1. 能够完成课程设计题目地大部分基本功能.2. 未能完成反常数据和边界数据地友好处理.3. 类与接口地设计较合理 .4. 功能实现错误较多 .1. 布局不合理 .2. 界面不美观 .3. 链接错误很多.1. 未能完成课程设计题目地大部分
5、基本功能 .2. 未能完成反常数据和边界数据地友好处理 .3. 类与接口地设计不合理 .4. 功能实现错误较多 .欢迎下载精品学习资源综合成果评定:评阅老师(签章):年月 日目录1 嬉戏介绍2 俄罗斯方块需求分析欢迎下载精品学习资源2.1 嬉戏功能分析2.1.1 嬉戏方块掌握功能2.1.2 方块地生成显示功能2.1.3 方块地摆放消行功能2.1.4 嬉戏分数统计功能2.1.5 嬉戏终止掌握功能2.2 方块及旋转变换需求分析2.3 嬉戏运行分析3 嬉戏总体设计分析3.1 总体设计思想3.2 功能模块3.2.1 嬉戏区模块3.2.2 嬉戏掌握模块4 具体设计与实现4.1 嬉戏开头菜单界面地设计4.
6、2 方块类地设计与实现4.3 方块地掌握设计和判定5 总结6 参考资料1 嬉戏介绍俄罗 斯方块是家喻户晓地益智小嬉戏,它由俄罗斯人阿列克谢.帕基 特诺夫 ( Alexey欢迎下载精品学习资源Pazhitnov)在 1984 年 6 月利用空暇时间编写地嬉戏程序,故此得名.俄罗斯方块地基本规章是移 动、旋转和摆放嬉戏随机产生地各种方块,使之排列成完整地一行或多行并且排除得分.它看似简洁却变化无穷,俄罗斯方块上手极其简洁,且嬉戏过程变化无穷,作为嬉戏本身很有魅力,但是要娴熟把握其中地操作和摆放技巧,难度却不低.此软件给用户供应了一个呈现自己精湛技艺地场所,在这里,它不仅放松自己,仍能感受到嬉戏中地
7、乐趣.嬉戏区域会从顶部不断落下7 种下坠物地一种,嬉戏区域右上角有一个区域可以显示下一个下坠物地势状,玩家可以掌握下坠物移动、旋转和一键究竟,通过玩家地操作,下坠物在嬉戏区域以 “摆积木 ”地势式显现 .下坠物在一行或多行堆满后就可以自动排除,消行后会得到相应地分数,假如当前下坠物积累至窗口顶端,就嬉戏终止.2 俄罗斯方块需求分析2.1 嬉戏功能分析先分析一下整个嬉戏地具体实现,第一,嬉戏有开头、切换界面、终止等操作接口,而在嬉戏过程中,随着玩家地按键,会显现下坠物地势状变化、下坠物快速下坠、摆放下坠物件、销毁填满地行、产生下一个方块等功能.先分析嬉戏地特点,然后对这些功能一一进行细化,从而完
8、成整个嬉戏地设计 .2.1.1 嬉戏方块掌握功能当玩家按下相应地操作键位时,通过条件判定,判定该操作是否可行,假如可行就执行相应地操作 .主要地操作有嬉戏方块地左移,右移,快速下降,旋转变形.欢迎下载精品学习资源2.1.2 方块地生成显示功能嬉戏中会有两个地方产生方块,一个是嬉戏区域上方会有方块落下,仍有就是在屏幕右上角,也会产生一个方块,该方块为嬉戏区域下一个要产生地方块.同时当嬉戏方块左右移动,下落,旋转变形时,要清除从前地嬉戏方块,仍要求出被操作后地方块坐标,用新坐标重绘嬉戏方块.2.1.3 方块地摆放消行功能当方块落究竟部地时候,通过条件判定,把方块摆放在屏幕底部并连续显示,当某行或者
9、某几行被填满地时候,要把这几行排除,并且被排除地行数上方地方块整体下移.2.1.4 嬉戏分数统计功能记录嬉戏积分,每当有行被排除时,嬉戏积分会依据一次排除地行数而增加相应地分数.2.1.5 嬉戏终止掌握功能通过判定,假如摆放地方块超过屏幕顶端地时候,就嬉戏终止,可以返回菜单重新开头嬉戏.2.2 方块及旋转变换需求分析本嬉戏共有7 种类型地方块,而每种类型方块仍可以通过旋转变换成4 种不同外形地方块进行摆放 .方块生成后可以将它们摆放在一个20*10 地区域内,该区域可以看作是有很多个等面积小方格构成地区域,而这些区域地状态只有两种,被方块占据或闲暇.因此,对于整个嬉戏区域地空间是占据或闲暇,可
10、以用一位数来标识,对于7 种方块和它们旋转后地势状我们可以用不同地标识进行标记 .对于旋转,嬉戏中全部方块都是依据顺时针旋转地规章进行地,而且在旋转过程中它们不会由于旋转而下降,总会保持在同一高度,但是在同一高度最多旋转三次,就会下降一格,任何下坠物经过一个旋转周期仍会变回原型.2.3 嬉戏运行分析嬉戏开头后会随机产生一个方块,显示在嬉戏区域,同时右上角也会随机产生一个新地方块,该方块为嬉戏区域下一个将要产生地方块,嬉戏区域不再随机生成方块.当嬉戏区域地方块下落究竟后,新地方块再次进入嬉戏区域,如此循环,直到嬉戏终止,这就是嬉戏地正常工作.当用户进行肯定地操作交互地时候,运行程序可以依据用户地
11、操作指示对方块进行掌握,而这些操作都是响应相关地按键而执行地.按键盘上键,此大事实现下坠方块旋转操作,方块并非任何情形都能旋转,假如旋转后与已摆放好地方块有冲突或超出边界时,均不能发生旋转.因此第一要判定是否有足够地空间进行旋欢迎下载精品学习资源转,然后打算是否旋转.按键盘下键,此大事实现下坠方块一键究竟操作,使方块快速下降到嬉戏区域底部或者已经摆放好地方块之上.按键盘左键,此大事实现下坠方块左移操作,第一要判定此方块是否能够发生左移,当越界或被其他摆放好地方块阻挡时,就不能左移.按键盘右键,此大事实现下坠方块右移操作.第一要判定此方块是否能够发生右移,当越界或被其他摆放好地方块阻挡时,就不能
12、右移.3 嬉戏总体设计分析3.1 总体设计思想俄罗斯方块嬉戏设计主要从9 个方面进行构思 . 1嬉戏主界面地设计 .(2) 方块地设计 .(3) 方块地旋转 .(4) 方块地运动情形(包括向左、向右、下坠). 5方块地自动消行功能 .欢迎下载精品学习资源6嬉戏速度地调剂 . 7嬉戏积分地运算 .(8) 嬉戏开头菜单地设计 .(9) 嬉戏终止界面地设计 .3.2 功能模块3.2.1 嬉戏区模块创建嬉戏区,处理玩家操作,显示操作结果3.2.2 嬉戏掌握模块开头,暂停连续,停止,新嬉戏,帮忙欢迎下载精品学习资源欢迎下载精品学习资源4 具体设计与实现4.1 嬉戏开头菜单界面地设计嬉戏开头菜单界面是嬉戏
13、地重要组成部分,为了增强嬉戏界面地美化成效,同时又使界面简洁直观,添加了一个按钮,当监听到开头按钮被点击时,嬉戏会跳转到嬉戏开头地Activity ,该类实现起来较为简洁 .4.2 方块类地设计与实现方块是嬉戏最基本地元素,俄罗斯方块全部地操作都是建立在对方块地操作上,方块可以用不同地颜色地方格图片来显示.publicclass LeftCorner extends ShapeAbstract privatestaticfinallongserialVersionUID = -5077670701145552787L;privatefinalstaticintCOLOR = Color.CYA
14、N;Rectangle data = null ;data = getEmptyShape ;data01.setSolidtrue ;data01.setColorCOLOR;欢迎下载精品学习资源data11.setSolidtrue ;data11.setColorCOLOR;data12.setSolidtrue ;data12.setColorCOLOR;data22.setSolidtrue ;data22.setColorCOLOR;m_shapes.adddata;data = getEmptyShape ;data02.setSolidtrue ;data02.setColor
15、COLOR;data03.setSolidtrue ;data03.setColorCOLOR;data11.setSolidtrue ;data11.setColorCOLOR;data12.setSolidtrue ;data12.setColorCOLOR;m_shapes.adddata;public String toString returnLeftCorner ;4.3 方块地掌握设计对方块地掌握,实际就是对二维数组 array 地掌握,该二维数组用来布置嬉戏区域方块地显示,方块地掌握主要在 TetrisController 类里实现,用来判定方块地各种操作是否可行,假如可行就执
16、行相应地操作,否就操作无效 .掌握方块时,第一要判定该操作是否可以执行,判定方法主要有判定方块是否可以左右移动,判定方块是否碰壁,判定方块是否触顶 .判定方块是否可以左移 .欢迎下载精品学习资源public class TetrisController private final static int BASE_COLUMN = 3;private final static int MIN_GAP_TIME = 200;private final static int MAX_GAP_TIME = 500;private Shape m_current ;private Shape m_nex
17、t ;private int m_row ;private int m_column = BASE_COLUMN;private Rectangle m_table ;private int m_score ;private transient Timer m_timer ;private transient Handler m_hanlder ;private boolean m_started ;private boolean m_paused;private int m_rectWidth = 40 ;private int m_rectHeight = 40 ;private int
18、m_nextRectWidth = 20;private int m_nextRectHeight = 20 ;private int m_gapTime = MAX_GAP_TIME; / shape fall down gap timepublic TetrisController Rectangle rs = new Rectangle2010;for int i = 0 ; i 20 ; i+ for int j = 0 ; j 10 ; j+ int color = Color.BLACK;Rectangle r = new Rectangle ;r.setColorcolor ;r
19、.setWidthm_rectWidth ;r.setHeightm_rectHeight ;rsij = r ;m_table = rs ;public void setRectSizeint width, int height m_rectWidth = width ;m_rectHeight = height ;if m_table .= null for Rectangle row : m_table for Rectangle rect : row rect.setWidthm_rectWidth ;rect.setHeightm_rectHeight ;欢迎下载精品学习资源publ
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 基于 Android 俄罗斯方块 设计 实现 课程设计 报告
限制150内