ETC01详细设计说明书.doc_第1页
ETC01详细设计说明书.doc_第2页
ETC01详细设计说明书.doc_第3页
ETC01详细设计说明书.doc_第4页
ETC01详细设计说明书.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目管理体系文件项目管理体系文件 详细设计说明书详细设计说明书 编 撰 人:苏明路 审 核 人:王利涛 批 准 人:王鹏飞 批准日期:2013-1-2 保密级别:机密 文档版本:0.0.1 北京中软国际信息技术有限公司北京中软国际信息技术有限公司 版本历史版本历史 日期日期版本版本说明说明作者作者 2012-12-300.1游戏的大概思路,目的跟目标的确定立涛国际 组 2012-12-310.3游戏的大概框架跟界面的设计立涛国际 组 2012-1-10.5游戏的算法实现,并基本成型立涛国际 组 2012-1-20.7游戏的实现跟测试成果立涛国际 组 2012-1-30.9游戏的后期维护和管理立涛国际 组 详细设计说明书 第 1 页 共 18 页 目目 录录 1.1.引言引言 3 3 1.1.编写目的 .3 1.2.背景 .3 1.3.术语 .3 1.4.参考资料 .3 2.2.程序系统结构程序系统结构 3 3 3.3.功能模块设计说明功能模块设计说明 4 4 3.1功能描述与性能描述.4 3.2.与本模块相关的代码表和表.4 3.3.功能.4 3.4.算法.4 3.5.处理流程.5 4.4.接口接口 4.1.外部接口 .3 4.2.内部接口 .3 4.3.应说明的问题与限制3 5.5.小组总结与体会小组总结与体会 3 3 详细设计说明书 第 2 页 共 18 页 1.1.引言引言 . 编写目的编写目的 本课程的程序设计专题实际是java 应用开发与实践 课程后,进 行的一次全面的综合性练习。其目的主要是学会 java 程序开发的环境 搭建与配置,并在实际运用中学习和掌握java 程序开发的全过程,进 一步熟悉掌握java 程序设计语言的基础内容,如用户图形界面设计、 java 多线程编程。通过亲自动手写程序,拓展知识面,锻炼调适能力。 . 背景背景 通过立涛国际小组的探索、求知、合作和创新精神,实现的一个 连连看游戏,玩法简单,休闲,益智,趣味。 用户:所有喜欢玩这个游戏的玩家 . 系统分析与设计系统分析与设计 功能实现:实现连连看的基本游戏功能和重新开始、退出和消除功能。 设计:通过对图片的调用以及设置是否可见来完成连连看的效果。 . 参考资料参考资料 Java 应用开发与实践刘乃琪 苏畅 主编张宇 杨娜 马 民,人名邮电出版 社 2.2.程序系统结构程序系统结构 本次所设计连连看游戏的程序主结构如图 2-1 所示 详细设计说明书 第 3 页 共 18 页 3.3.功能模块设计说明功能模块设计说明 从本章开始,逐个地给出各个层次中的每个程序的设计考虑。以下给出的提纲是针对一般 情况的。对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往 往与它所隶的上一层模块的对应条目的内容相同,在这种情况下,简单地说明这一点即可。 3.1.程序描述程序描述 主要运用 java 程序开发的环境搭建与配置、通过算法的实现和 用户图 形界面设计、 java 多线程编程 等的结合,展现了一个简易、益智类的休 闲游戏。 3.2与本模块相关的代码表和表 说明与本模块相关的数据库代码表及表格。格式可如下: 类型名称中文注释 代码表表 作用 input输入 输入 outtput输出 输出 update更新 更新数据 详细设计说明书 第 4 页 共 18 页 3.3.功能功能 游戏界面主框架主要包括游戏图形区域界面、游戏开始按钮、游戏关闭按钮。 游戏画布区主要应该包括游戏画布中图片随机出现的位置 3.4.算法算法 以下是产生按钮数组的代码: package org.carpediem.llk; import javax.swing.JOptionPane; public class ArcThread extends Thread MyJPanel canvas; int x=400; public ArcThread(MyJPanel canvas) this.canvas=canvas; public void run() while(x0) x-; if(x%10=0) canvas.time-; canvas.time1+; tryThread.sleep(225); catch(InterruptedException e) e.printStackTrace(); canvas.x=x; 详细设计说明书 第 5 页 共 18 页 canvas.repaint(); if(x=0) String out =“挑战失败“; JOptionPane.showMessageDialog(null, out); package org.carpediem.llk; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; public class JFrameTest extends JFrame JMenuBar llkan = new JMenuBar(); JMenu main=new JMenu(); MyJPanel mp; int selectionJ; int selectionI; KawaiGameModel model; Paixu s=new Paixu(); int hitCounter=0; ArcThread thread = null ; public JFrameTest() main.setFont(new Font(“微软雅黑“, Font.PLAIN, 12); main.setText(“游戏(G)“); main.setMnemonic(I); setDefaultCloseOperation(EXIT_ON_CLOSE); 详细设计说明书 第 6 页 共 18 页 JMenuItem begain=new JMenuItem(); begain.setFont(new Font(“微软雅黑“, Font.PLAIN, 12); begain.setText(“新游戏“); JMenuItem exit=new JMenuItem(); exit.setFont(new Font(“微软雅黑“, Font.PLAIN, 12); exit.setText(“退出“); exit.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0); ); begain.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub mp=new MyJPanel(); mp.setBounds(50, 50, 500, 500); /add(mp); setContentPane(mp); model=new KawaiGameModel(mp.map); if(thread != null) errupt(); thread = new ArcThread(mp); thread.start(); mp.addMouseListener(new MouseListener() Override public void mouseReleased(MouseEvent arg0) / TODO Auto-generated method stub Override public void mousePressed(MouseEvent arg0) / TODO Auto-generated method stub Override public void mouseExited(MouseEvent arg0) / TODO Auto-generated method stub 详细设计说明书 第 7 页 共 18 页 Override public void mouseEntered(MouseEvent arg0) / TODO Auto-generated method stub Override public void mouseClicked(MouseEvent arg0) / TODO Auto-generated method stub if(arg0.getButton()=MouseEvent.BUTTON1) int x=arg0.getX(); int y=arg0.getY(); int j=x/50; int i=y/50; mp.si=i; mp.sj=j; switch(hitCounter) case 0: selectionI=i; selectionJ=j; hitCounter=1; case 1: if(model.isConnected(i, j, selectionI, selectionJ) mp.mapij=0; mp.mapselectionIselectionJ=0; if(model.jugement(mp.map) JOptionPane.showMessageDialog(null, “胜利“); thread.x = -1; hitCounter=0; else 详细设计说明书 第 8 页 共 18 页 selectionI=i; selectionJ=j; mp.repaint(); ); ); main.add(begain); main.add(exit); llkan.add(main); this.setJMenuBar(llkan); setSize(600, 600); setTitle(“连连看游戏“); setResizable(false); setLayout(null); package org.carpediem.llk; public class KawaiGameModel int map; public KawaiGameModel(int map) this.map = map; /* * 用于判定两个节点是否能够通过一条直线连接 * * param i 详细设计说明书 第 9 页 共 18 页 * 第一个节点的行值 * param j * 第一个节点的列值 * param i1 * 第二个节点的行值 * param j1 * 第二个节点的列值 * return 是否能够连接的结果 * */ public boolean isConnectedByLine(int i, int j, int i1, int j1) if (i = i1) int tempj = j 0; i-) int j = random.nextInt(i); int temp = arrayi - 1; arrayi - 1 = arrayj; arrayj = temp; /设置行列参数 class setch public static int rows = 8; public static int columns= 8; public int getRows() return rows; public int getColumns() return columns; public void setRows(int r) rows=r; public void setColumns(int c) columns=c; 详细设计说明书 第 15 页 共 18 页 3.5.处理流程处理流程 本次游戏设计的处理流程如下图所示。 4.4.接口接口 4.1.外部接口外部接口 A、用户界面 本软件的屏幕格式,按钮格式,输入输出方式等都是完全按照人性化的设计, 方便用户执行各种操作。 各个按钮简单明了,互动性强,适用于各类人群。用户通过主界面的按钮进 行游戏的控制,同时系统返回一个信息。 详细设计说明书 第 16 页 共 18 页 B、硬件接口 本软件产品的用户需要通过键盘及鼠标进行操作, 进入主界面后点击相应的按钮, 进行规定的键盘操作,然后分别在主界面有相应的动作反应。 4.2.内部接口内部接口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论