flash俄罗斯方块项目说明.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
flash俄罗斯方块项目说明概要1

数学与计算机学院 课程设计说明书 课 程 名 称: Flash游戏程序设计 课 程 代 码: 题 目: 俄罗斯方块 年级/专业/班: 2012级计科 开 始 时 间: 2015 年 3 月 2 日 完 成 时 间: 2015 年 5 月 4 日 课程设计成绩: 学习态度及平时成绩(20) 技术水平与实际能力(20) 完成情况(20) 创新(5) 说明书(计算书、图纸、分析报告)撰写质量(35) 总 分(100) 目录 一、 系统分析与总体设计 2 1需求分析 3 2总体设计 3 二、 系统实现与调试 7 1算法分析 7 三、 程序代码 13 四、 总结 21 五、 分工 22 系统分析与总体设计 1需求分析 俄罗斯方块是一个比较简单的游戏。它游戏过程仅需要玩家将不断下落的各种形状的方块移动、翻转,如果某一行被方块充满了,那就将些行消掉;而当窗口中无法再容纳下落的方块时,就宣告游戏的结束。游戏的需求分析如下: 界面设计需求: 实验功能需求虽需要的按钮 显示积分和等级的文本 下一个方块下落提示界面,需要用不同的颜色表示 游戏运行界面 功能需求: 实现各种方块的生产,包括形状和颜色等信息; 实现各个方块的上下左右移动和旋转的功能(鼠标操作和键盘操作)。 实现消行的功能; 实现得分的统计功能; 实现开始,暂停,结束等功能; 2总体设计 2.1系统总体功能设计 首先需要对俄罗斯方块的设计和功能需求进行详细的了解和分析,一个具有功能完全满足基本需要的系统需要包括以下几个功能模块。如图1-1所示是俄罗斯方块总体设计功能图。 图1-1 俄罗斯方块总体设计功能图 2.2 游戏界面设计 游戏界面设计包括:游戏界面的布局,包括开始界面,游戏显示界面,下一个方块下落是界面,积分和等级记录界面等。如图1-2所示,游戏界面设计图: 图1-2游戏界面设计图 2.3操作设计 操作设计包括: ①游戏开始结束暂停操作设计:在游戏开始界面上有开始按钮,用鼠标操作,选择是否要进入游戏。 ②方块形状转换操作: 良好的方块形状设计,绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型),各个方块要能实现它的变形,可设为顺时针或逆时针变形,一般为逆时针。如表1-1所示俄罗斯方块定位点设置表 俄罗斯方块定位点设置,以黑色点为(0,0)坐标 状态 类型 1 2 3 4 1 2 3 4 5 6 7 表1-1 俄罗斯方块方块形状图 键盘处理事件:方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上(变形),向下(加速)、向左、向右移动。 ③消行操作: 当方块落到游戏界面最底部并且铺满最后一行,就能消去所在这一行,积分增加10分,消2行30分,消3行60分,消4行100分,而积分增加到一定数值时,玩家等级增加。 ④积分等级记录设计: 随着玩家对游戏的熟悉程度,对游戏的掌握程度,当玩家进行操作所消的行数越多,积分增加得越多,玩家等级也随之增加。 2.4流程图 图2-2 程序流程图 系统实现与调试 1.方块产生代码 //先建立180个小方块角色备用 for (i=0; i180; i++) { _root.attachMovie(Block, b+i, i); } //定义方块边长 var blockWidth = 16; //存放各种旋转角度及各种方块形状的数组 var BlockSet = new Array(); //******长条形 TempArray = new Array(); TempArray.push([[-2, 0], [-1, 0], [0, 0], [1, 0]]); TempArray.push([[0, -2], [0, -1], [0, 0], [0, 1]]); TempArray.push([[-1, 0], [0, 0], [1, 0], [2, 0]]); TempArray.push([[0, -1], [0, 0], [0, 1], [0, 2]]); //将长条形数据推入BlockSet数组 BlockSet.push(TempArray); // ******田字形 TempArray = new Array(); TempArray.push([[0, 0], [1, 0], [0, 1], [1, 1]]); TempArray.push([[0, 0], [1, 0], [

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档