软件设计报告-拼图游戏

上传人:F****n 文档编号:99803822 上传时间:2019-09-21 格式:DOC 页数:24 大小:553KB
返回 下载 相关 举报
软件设计报告-拼图游戏_第1页
第1页 / 共24页
软件设计报告-拼图游戏_第2页
第2页 / 共24页
软件设计报告-拼图游戏_第3页
第3页 / 共24页
软件设计报告-拼图游戏_第4页
第4页 / 共24页
软件设计报告-拼图游戏_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件设计报告-拼图游戏》由会员分享,可在线阅读,更多相关《软件设计报告-拼图游戏(24页珍藏版)》请在金锄头文库上搜索。

1、软件设计报告题 目: 拼图游戏 专 业 数字媒体技术 学 生 姓 名 班 级 学 号 日 期 2013年5月 评 分 细 则评分项优秀良好中等及格不及格平时表现(10%)程序演示(30%)报告(60%)评分等级等级:教师签名: 2013 年 5月备注评分等级有五种:优秀、良好、中等、及格、不及格目录一、序言1二、项目开发计划书12.1技术可行性12.2人员可能性12.3代码工作量12.4开发环境1三、项目分析13.1设计目标13.2程序功能需求概述1四、软件测试报告6五、不足分析9六、小结9附1:代码10附2:附录24各产品过程检验的检验时机应在操作者对首件加工完成后自检,并判定合格。再由车间

2、依据计划将需进行专检的部件填写报检单报检,在报检后首先由检验人员应检查车间是否按程序文件的规定开展了自检,然后接受报检进行检验、记录及判定。一、序言鉴于拼图游戏是一款较为经典的游戏,我们组选取了拼图游戏,借助Java - Eclipse这样一个开发环境完成此次软件工程实验项目。二、项目开发计划书2.1技术可行性我们组成员系统的学习了软件工程和Java的相关知识,具备一定的系统分析与设计能力,熟悉Java的设计与操纵;早期的大部分工作已经完成,所以后面的工作相对轻松:指导老师林巧民老师多年从事软件工程和程序设计的教学与研究工作,因而该系统的实现在技术上是可行的。2.2人员可能性程序的设计、编写与

3、调试由杜宗泽、沙杰。文档的编写与整理,后期测试由陈凯负责。2.3代码工作量预计需一个星期左右。2.4开发环境开发环境:Java - Eclipse3、 项目分析3.1设计目标按照软件工程的规范,以Java - Eclipse为前端开发工具,设计并实现一个拼图游戏。3.2 程序功能需求概述(1) 实现载入3幅图片;(2) 设置字体;(3) 初始化界面;(4) 添加鼠标监听事件;(5) 面板初始化;(6) 单击鼠标时产生的事件;(7) 鼠标进入某个区域时产生的事件;(8) 鼠标突出某个区域时产生的事件;(9) 移动鼠标时产生的事件;(10) 拖动鼠标时产生的事件;(11) 按下鼠标时产生的事件;(

4、12) 放开鼠标时产生的事件;(13) 转换坐标;(14) 图片初始化;(15) 判断程序是否结束;(16) 游戏初始化。4、 软件测试报告在Java - Eclipse环境中调试、运行程序点击运行后出现如下画面:单击选取美女头像,初始状态如下图:此时可根据需要单击左上角“小程序”菜单进行功能选择,如下图:五、不足分析(1)4x4拼图难度较大;(2)右下角会有一块空缺,鉴于能力有限,未能完善。六、小结 经过两个星期的努力,我们小组比较圆满地完成了本次课程设计的题目拼图游戏。本练习制作拼图游戏的实例,运用了Java2中的图形处理技术和消息响应技术。通过图形技术,实现图片的导入和分割。通过消息响应

5、机制,使程序可以响应用户的鼠标操作,进行拼图游戏的操作。在为期一周的学习实践中,最大的收获是锻炼了自己的编程能力。熟悉了Java - Eclipse开发环境。程序的编写是最为艰辛的过程。首先,由于没有较为深入的学习Java高级语言,我们小组在开始程序编写工作之前,借阅了相关的书籍,初步学习了Java语言中的各项功能。在又了一定的知识积累后,我才着手开始项目程序的编写。程序编写的灵魂在于算法的设计,所以我们组在这部分花费的精力也最多。算法比较复杂。刚开始由于思考的不够全面,编写的程序虽能勉强完成大概的功能需求,但还是出现了很多bug。后来通过对算法的重新审视,以及查阅相关的书籍,不断的修改已有程

6、序,终于基本消除了bug。在程序的编写过程中,还出现了一些小的问题,特别是一些语言书写的规则,细节功能的实现着实让我们组大费了一些周折。自学了有关软件工程的知识,并可以把自学导的内容加以实践与应用。由于我没有选修这门课程,所以造成在实践过程中还是遇到了一些问题,比如在软件开发的初级阶段,与小组成员讨论系统功能的结构化设置时,就不能全面有效的构思清楚。幸好另外一名同组成员较系统地学习了这门课程,通过讨论,最后设计出了现在的程序。通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。安排课程设计的基本目的,在于理论与实际的结合,人与人之间的沟通,尤其是观察、分析和解决问题的实际工作能

7、力,作为整个学习体系的有机组成部分,课程设计虽然只安排了两周进行,但并不具有绝对独立的意义。这次课程设计,让我找出了自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,让我受益匪浅。 代码部分import java.awt.*;import java.applet.*;import java.awt.event.* ;public class pintu extends Appletimplements MouseListener,MouseMotionListener private Image picture;private Graphi

8、cs buffer;private Image pic;private Image off_pic;private Graphics off_buf;private Image off_screen;private Graphics off_buffer;private Image off_drag;private Graphics off_drag_buf;private int map;private int ran;private int width=0;private int height=0;private int lastx;private int lasty;private in

9、t last_downx;private int last_downy;private int stepx;private int stepy;private boolean choose;private boolean click;private boolean m_down;private boolean m_drag;private boolean not_redraw;private boolean able;Font font1,font2;/程序的初始化public void init()resize(640,480);pic = new Image 3;off_pic = new

10、 Image16;off_buf = new Graphics 16;map = new int 44;ran = new int 15;for(int a=0;a16;a+)mapa/4a%4 = a;for(int a=0;a15;a+)rana=a;click=new boolean 44;MediaTracker tracker= new MediaTracker (this);/要载入的图片pic0=getImage(getCodeBase(),PICTURE0.JPG);pic1=getImage(getCodeBase(),PICTURE1.JPG);pic2=getImage(

11、getCodeBase(),PICTURE2.GIF);tracker.addImage (pic0,0);tracker.addImage (pic1,0);tracker.addImage (pic2,0);trytracker.waitForID (0);catch(InterruptedException e)/设置字体font1= new Font (TimesRoman, Font.BOLD, 48);font2= new Font (TimesRoman, Font.BOLD, 32);width=640;height=480;/初始化主界面initForm();/添加鼠标监听事

12、件addMouseListener(this);addMouseMotionListener(this);/面板初始化void initForm()this.setBackground (Color.orange);if(off_drag=null)off_drag = createImage(width/4,height/4);off_drag_buf = off_drag.getGraphics ();public void paint(Graphics g)if(off_screen=null)off_screen = createImage(width,height);off_buffer=off_screen.getGraphics ();if(able)off_buffer.setColor (Color.black );for(int a=0;a4;a+)for(int b=0;b4;b+)if(mapab!=15)off_buffer.drawImage (off_picmapab,b*width/4,a*height/4,this);if(mapab=15)off_buffer.fillRect (b*width/4,a*height/4,width/4

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

当前位置:首页 > 办公文档 > 教学/培训

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