欢迎来到天天文库
浏览记录
ID:26963320
大小:358.82 KB
页数:35页
时间:2018-11-30
《《项目设计案例》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第13章项目设计案例学习目标本章要点习题学习目标通过前面的讲解,已经学习Java基本概念、知识和基本操作,有了一定的Java编程基础。为更近一步了解Java程序开发的完整过程,本章介绍网络围棋游戏项目的整个开发流程,通过这个实例对前面所学的知识进行全面的应用和巩固。本章要点功能需求分析总体设计详细设计编码实现程序运行与发布功能需求分析本章将设计一款网络围棋游戏,该程序应该具备以下的功能。该游戏的棋盘与标准围棋棋盘相同,由纵横各十九条相互平行、垂直交叉的直线组成,共有361个交叉点(以下称为“点”)。棋盘上
2、由九个小黑圆点,代表星位。功能需求分析游戏规则遵循围棋标准规则,即一个棋盘上的棋子必需落在点上,与棋子相邻的空点称为它的“气”。在棋子直线相邻的点上,如果有同色的棋子存在,则它们便连成一个整体,它们的气也一并计算,反之,如果是异色棋子,则它的气就不复存在。如果所有的气被对方占据,则称为死棋,应被提掉。功能需求分析该游戏能满足一个人单机游戏,也能与其它计算机联机进行两人对弈。棋子分为黑棋和白棋两种,黑棋先下,黑棋和白棋必须交替落子,直到游戏结束。在玩家决定游戏结束后,则进行数子,所占的点大于180又1/2的
3、一方为胜。总体设计总体设计阶段,需要对该游戏的逻辑结构做出一个整体的设计。该游戏共由4个模块组成,分别是主模块、监听模块、点模块和棋盘模块。其中主模块是游戏的开始模块,其余三个均是它的下级模块,供主模块调用。模块间的逻辑关系图总体设计主模块(MainWindow):该模块为整个游戏的入口和开始界面,玩家在该模块上实现游戏前的各项设置。该模块界面包含了棋盘画面,整个游戏过程都在该界面完成。总体设计监听模块(Liston):该模块用于在联机状态下,接收对方电脑信息。点模块(CrossPoint):用来传回棋盘
4、上各点的状态信息。棋盘模块(Board):用来封装棋盘的属性和方法。详细设计在详细设计阶段要求完成每个模块的设计方案。主模块(MainWindow)监听模块(Liston)点模块(CrossPoint)棋盘模块(Board)主模块(MainWindow)主模块是整个游戏的主界面,它由棋盘区和控制区两部分组成。主模块界面容器与组件结构图主模块(MainWindow)由上图可以看出,主界面为面板Panel1,棋盘区和控制区分别是面板Panel2和Panel3,面板Panel1包含了面板Panel2和Panel
5、3,而Panel2包含了棋盘,Panel3又包含了所有游戏操作的基本控件。同时,Panel1包含于Frame窗体中。主模块(MainWindow)在该界面上的控件组中,应提供控制单机和联机游戏的按钮,输入对方IP地址的对话框,用于建立连接的按钮,开始/退出按钮以及一些标示性的标签组件。网络围棋游戏主模块信息表系统名:网络围棋游戏设计人:模块名:MainWindow日期:模块编号:1文件名:MainWindow.java上层调用模块:无下层调用模块:Liston、CrossPoint输入数据:对方联机电脑的
6、IP号输出数据:连接成功提示信息控件信息:Panel1(总面板)、Panel2(棋盘区面板)、Panel3(控件区面板)、label1(显示提示信息)、label2(显示所选棋子颜色)、checkbox1(“单机”选择按钮)、checkbox2(“联机”选择按钮)、textField1(联机对方IP地址)、button1(提交连接请求)和button2(“开始/退出”按钮)。注释:联机对方IP号错误,开始后将无法继续进行游戏。监听模块(Liston)该模块用于接收对方电脑信息。系统名:网络围棋游戏设计人:
7、模块名:Liston日期:模块编号:2文件名:Liston.java上层调用模块:MainWindow下层调用模块:无输入数据:接收对方服务器信息输出数据:响应事件成员变量:socket(用于创建客户端的Socket)、mainWindow(用来生成客户端的游戏窗口)成员方法:Liston(成员变量初始化)、run(接收信息服务器端信息,并将结果显示到游戏窗口)注释:联机对方IP号错误,开始后将无法继续进行游戏。点模块(CrossPoint)该模块用来封装棋盘交叉点的状态和属性。系统名:网络围棋游戏设计人
8、:模块名:CrossPoint日期:模块编号:3文件名:CrossPoint.java上层调用模块:MainWindow下层调用模块:无输入数据:输出数据:网络围棋游戏点模块信息表成员变量:BLACK(常量,值为1,表示黑色)、WHITE(常量,值为2,表示白色)、BLANK(常量,值为0,表示无色)、pointAround[](相邻店的逻辑位置)、whichStep(所对应的步数)、color(交叉点颜色)、posX/pos
此文档下载收益归作者所有