1、项目综合实验报告 课程名称 算法与程序设计实践 程序名称 _ 俄罗斯方块 _实验工具 _JBTooL_编程语言 _JAVA_专 业 : 软件工程 班级/学号: 软工1202/ 学生姓名: rouforever 成 绩 _指导教师 _ _完成日期 _程序设计说明书1引言1.1编写目的游戏是用来给大家娱乐的,所以要能在使用的过程中给大家带来快乐,消除大家的疲劳1.2项目背景之所以选择开发俄罗斯方块游戏,无可争议,俄罗斯方块是有史以来最伟大的游戏之一。 在曾经发布过的所有游戏中,俄罗斯方块还被认为是仅有的一个能够真正吸引广泛人群的作品。1.3定义我们在设计过程中主要用到的控件有:command控件,
2、image控件,picture控件,label控件,timer控件,text控件,windows media player控件等等。 1.4参考资料无1.5人员及分工一人完成2总体设计2.1需求概述在个人电脑日益普及的今天,一些有趣的桌面游戏已经成为人们在使用计算机进行工作或学习之余休闲娱乐的首选,而俄罗斯方块游戏是人们最熟悉的小游戏之一,它以其趣味性强,易上手等诸多特点得到了大众的认可,因此开发此游戏软件可满足人们的一些娱乐的需求。此俄罗斯方块游戏可以为用户提供一个可在普通个人电脑上运行的,界面美观的,易于控制的俄罗斯方块游戏。2.2程序结构俄罗斯方块游戏游戏区游戏控制显示玩家操作显示操作结
3、果开始暂停/继续提高等级退出降低等级2.3 程序功能游戏控制模块开始游戏暂停游戏初始级别设置退出游戏3程序描述游戏中玩家可以做的操作有: 1.以90度为单位旋转方每一格块。2.以格子为单位左右移动方块,让方块加速落下。3.方块移到区域最下方或是着地到其他方块上无法移动时,就会固定在该处,而新的随机图形会出现在区域上方开始落下。4.当区域中某一列横向格子全部由方块填满,则该列会自动消除并成为玩家的得分。同时删除的列数越多,得分指数上升。5.当固定的方块堆到区域最上方,则游戏结束。3.1功能 暂停,开始游戏,提高降低级数。3.3输入项目主要实现的功能 我们开发的俄罗斯方块游戏,主要实现了以下几种功
4、能: 1.可以灵活控制方块在图形框中运动。 2.游戏过程中方块可以自由旋转。 3.当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。 4.游戏前可以选择游戏的速度和游戏的等级,游戏速度既为方块下落速度,游戏等级为初始游戏时在基层随机生成一定行数的无规律方块,生成的行数由你来选择,每行至少产生5个以上的无规律方块,这样增加了游戏难度,对于游戏高手来说,无疑不是一个新的挑战。 5.游戏的得分支持积分,并且按照公式: 得分 = 原来分数+ 100 * (2 同时消除的行数-1) 这样,你同一时间消除的行数越多,你的得分也就越高,当游戏积分到了一定时可以自动
5、升级,这个升级指速度升级。 6.游戏中提供了一个漂亮的场景和动听的音乐,给你带来无限激情。 3.5算法是俄罗斯方块的关键矩阵。其中,第一维的18,前 16 个整数表示 4*4 的方块的形状,后两个变量,表示该形状所占的宽度和高度,以免方块出界了。第二维中的 4 表示方块的 4 个方向的旋转。第三维中的 7 表示方块的 7 中基本形状。所有情况的方块写到一数组里,作为一常量,以备调用。例如:for(i=0;i4;i+) gridheighti+colum+=shapeshploopi; for(i=4;i8;i+) gridheight+1i+colum-4+=shapeshploopi; fo
6、r(i=8;i12;i+) gridheight+2i+colum-8+=shapeshploopi; for(i=12;i16;i+) gridheight+3i+colum-12+=shapeshploopi;其中,grid,就是整个画面的情况,用 0 和 1 表示,1表示有格子,0表示没有格子,上述的程序段表示,在第 height 行 colum 列显示 shape 形状的方块。方块的变形就是改变第一维的值了,方块的旋转就是改变第而维的值了。【采用过程蓝图的ACSD/ALSD/AISD详细描述各个模块在概念、逻辑和实现三个不同抽象层次的算法过程模型】项目开发总结报告1引言1.1编写目的说
7、明编写这份项目开发总结报告的目的,指出预期的阅读范围。1.2背景说明:a 本项目的名称和所开发出来的软件系统的名称;b 此软件的来源或任务提出者、开发者、用户及安装此软件的计算中心。1.3定义列出本文件中用到的专门术语的定义和外文首字母组词的原词组。1.4参考资料列出收集和用到的参考资料,如:a 程序代码及文档的来源及出处;b 为完成本项目所收集和自学的资料;c 本文件中各处所引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2实际开发结果2.1产品说明最终制成的产品,包括:a 程序系统中各个程序的名字,它们之间的层
8、次关系,以千字节为单位的各个程序的程序量、存储媒体的形式和数量;b 程序系统共有哪几个版本,各自的版本号及它们之间的区别;c 每个文件的名称;d 所建立的每个数据库。 如果开发中制订过配置管理计划,要同这个计划相比较。2.2主要功能和性能逐项列出本软件产品所实际具有的主要功能和性能,对照可行性研究报告、项目开发计划、功能需求说明书的有关内容,说明原定的开发目标是达到了、未完全达到、或超过了。2.3基本流程用图给出本程序系统实际的基本处理流程。2.4研制过程与进度详细描述开发程序的完整过程,包括开发的各个阶段、制品、活动,并画出开发流程图;列出原定计划进度与实际进度的对比,明确说明,实际进度是提
9、前了、还是延迟了,分析主要原因。2.5费用列出原定计划费用与实际支出费用的对比,包括:a. 工时,以人月为单位,并按不同级别统计;b. 计算机的使用时间,区别CPU时间及其他设备时间;c. 物料消耗、出差费等其他支出。明确说明,经费是超出了、还是节余了,分析其主要原因。3开发工作评价3.1对生产效率的评价给出实际生产效率,包括:a 程序的平均生产效率,即每人月生产的行数;b 文件的平均生产效率,即每人月生产的千字数;并列出原订计划数作为对比。3.2对产品质量的评价说明在测试中检查出来的程序编制中的错误发生率,即每干条指令(或语句)中的错误指令数(或语句数)。如果开发中制订过质量保证计划或配置管
10、理计划,要同这些计划相比较。3.3对技术方法的评价重点给出对在开发中所使用的模型驱动程序技术、方法、工具的效果评价。3.4 对主动学习的评价给出为完成项目开展主动学习的内容、主动学习方法及学习效果评价。3.5 对团队合作的评价 给出为完成项目是如何开展团队合作的,合作时出现了什么问题,如何解决这些问题,以及采用的高效团队协作的做法、成功经验和效果评价。3.6 碰到的问题、解决方法及建议给出对于开发中出现的各种主要问题、原因分析及其解决方法。请重点给出使用蓝图工具时碰到些什么问题、解决问题的做法,以及工具完善改进的建议。4收获与体会列出从这项开发工作中所得到的最主要的收获和体会实现层包 Bloc
11、k;/ 类定义 类 MyTimer / 成员方法 公共的 MyTimer(Block myBlock) 调用对象.myBlock 赋值 myBlock; / 成员方法 公共的 空类型 运行() 当 (myBlock.启动Sign 等于 1) 尝试 /e sleep(10减myBlock.speedMark 加 1)乘100); myBlock.重复wn(); 捕获 (Interrupted异常 e) 系统.输出.输出字符串并换行(); / 类定义公共的 类 moxing / 成员变量 公共的 静态的 整数类型 blockNumber = 1 ; 公共的 静态的 字符串 butLab = 开 始
12、 游 戏,重 新 开 始,降 低 级 数,提 高 级 数,游 戏 暂 停,退 出 游 戏 ; 公共的 静态的 Button but = 新建对象 按钮6 ; 公共的 静态的 Button noStop = 新建对象 按钮(取 消 暂 停) ; 公共的 静态的 布尔类型 downSign = 假 ; 公共的 静态的 整数类型 game_body = 新建对象 整数类型1910 ; 公共的 静态的 整数类型 game_sign_x = 新建对象 整数类型4 ; 公共的 静态的 整数类型 game_sign_y = 新建对象 整数类型4 ; 公共的 静态的 整数类型 gameScore = 0 ;
13、公共的 静态的 ImageIcon icon = 新建对象 图像Icon(resource/Block.jpg) ; 公共的 静态的 JDialog dlg_1 ; 公共的 静态的 JFrame jf = 新建对象 嘉窗口() ; 公共的 静态的 JMenu menu0 = 新建对象 J菜单(游戏 ) ; 公共的 静态的 JMenu menu1 = 新建对象 J菜单(帮助 ) ; 公共的 静态的 JMenuBar mb = 新建对象 J菜单栏() ; 公共的 静态的 JMenuItem mi0 = 新建对象 J菜单项(新 游 戏) ; 公共的 静态的 JMenuItem mi1 = 新建对象 J菜单项(退出) ; 公共的 静态的 JMenuItem mi1_0 = 新建对象 J菜单项(关于) ; 公共的 静态的 JTextArea dlg_1_text = 新建对象 JTextA
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1