版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理 工大学华 夏学院武汉理 工大学华 夏学院课 程 设 计 报 告 书课 程 设 计 报 告 书课程名称:课程名称:网页设计网页设计题题目目:俄罗斯方块游戏系系名:名:信息工程系专业班级:专业班级:姓姓名名:学学号:号:指导教师指导教师:20162016年1 1月1414日课课 程程 设设 计计 任任 务务 书书课程名称: 网页设计课程设计指导教师: 苏永红班级名称: 软件 1131开课系、教研室:软件与信息安全一、课程设计目的与任务网页设计与制作课程设计是网页设计与制作课程的后续实践课程,旨在通过一周的实践训练,加深学生对网页设计中的概念,原理和方法的理解,加强学生综合运用 HTML、C
2、SS、JavaScript、asp 网页设计技术进行实际问题处理的能力,进一步提高学生进行分析问题和解决问题的能力,包含系统分析、系统设计、系统实现和系统测试的能力。学生将在指导老师的指导下,完成从需求分析,系统设计,编码到测试的全过程。二、课程设计的内容与基本要求1、课程设计题目俄罗斯方块游戏的设计与实现2、课程设计内容俄罗斯方块游戏是一个单击休闲小游戏。在俄罗斯方块的游戏界面中,有一组正在“下落”的方块(通常有4个,组成各种不同的形状),游戏玩家需要做的事情就是控制正在“下落”的方块的移动,将这组方块摆放到合适的位置。只要下面“某一行”全部充满方块,没有空缺,那么这行就可以“消除”,上面的
3、所有“方块”会“整体掉下来”。对于HTML5、JavaScript学习者来说,学习开发这个小程序难度适中,而且能很好地培养学习者的学习乐趣。 开发者需要从程序员的角度来看待玩家面对的游戏界面, 游戏界面上的每个方块(既可以涂上不同的颜色, 也可以绘制不同图片)在底层只要使用一个数值标识来代表即可,不同的方块使用不同的数值标识。开发俄罗斯方块游戏除了需要理解游戏界面的数据模型之外, 开发者还需要理解为游戏添加监听方法,通过事件监听可以监控玩家的按键动作,当玩家按下不同按键时,程序控制正在“下落”的方块移动或旋转。本程序稍微有点复杂的地方是,当方块组合旋转时,开发者需要计算每个方块旋转后的坐标。具
4、体要求为:(1) 开发游戏界面。游戏界面大致分为两个区域:速度、积分显示区和主游戏界面区。(2) 建立游戏的状态数据模型。对于游戏玩家而言,游戏界面上看到的“元素”千差万别、变化多端,但对于游戏开发者而言,游戏界面上的元素在底层都是一些数据,只是不同数据所绘制的图片存在差异而已, 因此, 建立游戏的状态数据模型是实现游戏逻辑的重要步骤。(3) 实现游戏逻辑。定义了游戏状态模型后,接下来程序需要处理方块组合“掉落” ,还需要处理方块组合“左移” 、 “右移” 、 “旋转”等,通过事件监听可以监控玩家的按键动作,当玩家按下不同按键时,程序控制正在“下落”的方块移动或旋转。此处使用 Local St
5、orage来记录游戏状态。(4) 初始化游戏状态。在游戏过程中,程序使用了 Local Storage 来保存游戏状态,包括游戏的当前积分、游戏速度、已有方块的状态等。为了正常使用 Local Storage 所记录的游戏状态,程序可以为 window 对象的 onload 事件绑定事件监听器,程序可以在 windows 装载完成时通过 Local Storage 读取这些数据,并把这些数据显示出来。为了提高分析问题和解决实际问题的能力。每个人需要检查游戏运行结果,设计报告文档,并提交纸质版的课程报告和电子版的网站设计资料,包括:源程序,网站运行效果截图,电子版的资料以班为单位刻成光盘后由学习
6、委员统一提交。3、设计报告撰写格式要求1 设计题目与要求2 设计思想3 系统结构4 系统详细设计与实现,内容包括各个模块的设计,模块的算法流程图,相关知识点的使用,可以截取少量代码说明,并加上注释,图居中显示,图下方要有图编号和图名称。5 运行结果及结果分析6 自我评价与总结7 参考文献三、课程设计步骤及时间进度和场地安排本课程设计将安排在第 20 周, 教育技术中心。具体安排如下:第一天下发任务书,学生查阅资料第二、三天 系统设计和原型开发,系统功能实现第四天书写课程设计报告,系统调试 测试 打包和验收周次星期一星期二星期三星期四星期五第 20 周第 3-6 节第 3-6 节第 3-6 节第
7、 3-6 节地点现教 212现教 212现教 212现教 212四、课程设计考核及评分标准课程设计考核将综合考虑学生考勤和参与度, 系统设计方案正确性, 系统设计和开发效果以及课程设计报告书的质量。具体评分标准如下:设置六个评分点(1)设计方案正确,具有可行性、创新性;25 分(2)系统开发效果较好;25 分(3)态度认真、刻苦钻研、遵守纪律;10 分(4)设计报告规范、课程设计报告质量高、参考文献充分20 分(5)课程设计答辩概念清晰,内容正确10 分(6)课程设计期间的课堂考勤、答疑与统筹考虑。10 分按上述六项分别记分后求和,总分按五级记分法记载最后成绩。优秀(10090分),良好(80
8、89分),中等(7079分),及格(6069分),不及格(059 分)1 1 设计题目与要求设计题目与要求1.11.1 设计题目设计题目课设题目:俄罗斯方块游戏的设计与实现1.2 设计要求设计要求(1) 开发游戏界面。游戏界面大致分为两个区域:速度、积分显示区和主游戏界面区。(2) 建立游戏的状态数据模型。对于游戏玩家而言,游戏界面上看到的“元素”千差万别、变化多端,但对于游戏开发者而言,游戏界面上的元素在底层都是一些数据,只是不同数据所绘制的图片存在差异而已, 因此, 建立游戏的状态数据模型是实现游戏逻辑的重要步骤。(3) 实现游戏逻辑。定义了游戏状态模型后,接下来程序需要处理方块组合“掉落
9、” ,还需要处理方块组合“左移” 、 “右移” 、 “旋转”等,通过事件监听可以监控玩家的按键动作,当玩家按下不同按键时,程序控制正在“下落”的方块移动或旋转。此处使用 Local Storage来记录游戏状态。(4) 初始化游戏状态。在游戏过程中,程序使用了 Local Storage 来保存游戏状态,包括游戏的当前积分、游戏速度、已有方块的状态等。为了正常使用 Local Storage 所记录的游戏状态,程序可以为 window 对象的 onload 事件绑定事件监听器,程序可以在 windows 装载完成时通过 Local Storage 读取这些数据,并把这些数据显示出来。2 2 设
10、计思想设计思想俄罗斯方块游戏是一个单击休闲小游戏。在俄罗斯方块的游戏界面中,有一组正在“下落”的方块(通常有4个,组成各种不同的形状),游戏玩家需要做的事情就是控制正在“下落”的方块的移动,将这组方块摆放到合适的位置。只要下面“某一行”全部充满方块,没有空缺,那么这行就可以“消除”,上面的所有“方块”会“整体掉下来”。开发者需要从程序员的角度来看待玩家面对的游戏界面,游戏界面上的每个方块(既可以涂上不同的颜色,也可以绘制不同图片)在底层只要使用一个数值标识来代表即可,不同的方块使用不同的数值标识。开发俄罗斯方块游戏除了需要理解游戏界面的数据模型之外, 开发者还需要理解为游戏添加监听方法,通过事
11、件监听可以监控玩家的按键动作,当玩家按下不同按键时,程序控制正在“下落”的方块移动或旋转。本程序稍微有点复杂的地方是,当方块组合旋转时,开发者需要计算每个方块旋转后的坐标。3 3 系统结构系统结构系统结构图如图 1 所示:图 1系统结构图4 4 系统详细设计与实现系统详细设计与实现4.14.1 游戏区模块(创建游戏区、处理玩家操作、显示操作结果)游戏区模块(创建游戏区、处理玩家操作、显示操作结果)主界面采用 canvas 绘图元素,该的大小是由程序动态计算得到的。部分代码如下所示:/ 定义一个创建 canvas 组件的函数var createCanvas = function(rows , c
12、ols , cellWidth, cellHeight)tetris_canvas = document.createElement(canvas);/ 设置 canvas 组件的高度、宽度tetris_canvas.width = cols * cellWidth;tetris_canvas.height = rows * cellHeight;/ 设置 canvas 组件的边框tetris_canvas.style.border = 1px solid black;/ 获取 canvas 上的绘图 APItetris_ctx = tetris_canvas.getContext(2d);/
13、 开始创建路径tetris_ctx.beginPath();/ 绘制横向网络对应的路径for (var i = 1 ; i TETRIS_ROWS ; i+)tetris_ctx.moveTo(0 , i * CELL_SIZE);tetris_ctx.lineTo(TETRIS_COLS * CELL_SIZE , i * CELL_SIZE);/ 绘制竖向网络对应的路径for (var i = 1 ; i TETRIS_COLS ; i+)tetris_ctx.moveTo(i * CELL_SIZE , 0);俄罗斯方块游戏环境显示速度当前积分最高积分游戏操作上键变换形状下键加速下落左键
14、左移右键右移tetris_ctx.lineTo(i * CELL_SIZE , TETRIS_ROWS * CELL_SIZE);tetris_ctx.closePath();/ 设置笔触颜色tetris_ctx.strokeStyle = #aaa;/ 设置线条粗细tetris_ctx.lineWidth = 0.3;/ 绘制线条tetris_ctx.stroke();游戏区流程图如图 2 所示:图 2游戏区流程图开始游戏开局随机选择方块类是否到顶部?方块下落处理玩家操作是否到顶部?Game over结束是是否否4.24.2 游戏控制模块游戏控制模块为了处理方块的移动, 程序要先给键盘绑定事
15、件监听器, 游戏时可通过按下键盘上的上、下、左、右键来控制方块的移动,下面是程序为按键事件绑定监听器的代码:window.onkeydown = function(evt)switch(evt.keyCode)/ 按下了“向下”箭头case 40:if(!isPlaying)return;moveDown();break;/ 按下了“向左”箭头case 37:if(!isPlaying)return;moveLeft();break;/ 按下了“向右”箭头case 39:if(!isPlaying)return;moveRight();break;/ 按下了“向上”箭头case 38:if(!
16、isPlaying)return;rotate();break;游戏控制流程图如图 3 所示:图 3 游戏控制流程图开始顶端出现方块是否可下落?上下左右是否能变形?变形下落加速是否能移位?左右移位是 否充 满游戏区?游戏结束是是是是否否否否5 5 运行结果及结果分析运行结果及结果分析5.15.1 游戏打开界面,如图游戏打开界面,如图 4 4 所示所示图 4 游戏打开界面5.25.2 游戏进行中界面游戏进行中界面游戏玩的过程中,根据当前所玩分数变换速度,当达到 500 分速度为 2,分数达到 2000分速度为 3,后面变换类似,相关界面如图 5 和图 6 所示:图 5 速度为 2 界面图 6速度
17、为 3 界面5.35.3 游戏失败界面游戏失败界面方块填满之后,游戏失败结束,如图 7 所示图 7 游戏失败界面6 6 自我评价与总结自我评价与总结本次课程设计开发的是基于 HTML5 的俄罗斯方块,通过这几天的开发,充分激发了我对网页设计的学习热情。这个游戏难度适中,对 HTML5、JavaScript 学习者来说是一个不错的选择,通过这次课程设计,我学会了单机游戏的界面分析与数据建模的能力,游戏玩家眼中看到的是游戏界面, 而我们眼中看到的则是数据模型。 本次课程设计提醒我还要多加学习几何变换、数学计算能力。网页设计需要坚持,坚持不断的学习,因为设计网页的软件在不断的更新,你不断的学习不要掉入技术的陷阱,你的网页设计技术一流,你对软件的掌握程度已经达到一定水平,但是你设计的网页确不堪目睹, 这是因为网页设计是是介于平面设计和编程技术两者之间的边缘科学.不仅涉及到美学,心理学,平面构成,色彩搭配等平面设计的方面的知识,还涉及到HTML,Javascript,css,ASP,php 等编程语言技术方面的知识.只有综合运用多种知识,才能设计出视听特效,动
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 再生透水混凝土标识牌抗风荷载监理细则
- 再生透水混凝土声屏障透明板可见光透射比监理细则
- 地质样品制备工操作管理强化考核试卷含答案
- 中药饮片购销员岗前时间管理考核试卷含答案
- 木材保护与改性处理工持续改进考核试卷含答案
- 燃料集控值班员保密模拟考核试卷含答案
- 燃气管网运行工QC管理评优考核试卷含答案
- 甘油制造工冲突管理知识考核试卷含答案
- 油脂水解操作工安全宣教能力考核试卷含答案
- 石墨化工岗中实操能力考核试卷含答案
- 2026广西质量工程职业技术学院第一批公开招聘工作人员65人考试备考试题及答案详解
- CHS-GWPF2026:欧盟碳边境调节机制CBAM研究报告市场化路径还是市场失灵-中文译版-
- 2026年美妆个护行业洞察数据报告
- 安徽芜湖2026年无为市泉塘镇村级后备干部招聘考试试卷-含答案解析
- 2026年安徽省产品质量监督检验研究院见习人员招募备考题库及答案详解(历年真题)
- 康复专业面试题库和答案
- 2026中盐东兴盐化股份有限公司招聘17人笔试历年参考题库附带答案详解
- 医院综合运营提升方案
- 铁路物流中心设计规范(Q∕CR 9133-2016)
- QBQB5172023冷镦钢盘条规范
- 【《某轮腿复合式跳跃机器人的各参数计算及校核过程案例》10000字】
评论
0/150
提交评论