- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第13章 項目设计案例
第13章 项目设计案例
学习目标
本章要点
习 题
学习目标
通过前面的讲解,已经学习Java基本概念、知识和基本操作,有了一定的Java编程基础。为更近一步了解Java程序开发的完整过程,本章介绍网络围棋游戏项目的整个开发流程,通过这个实例对前面所学的知识进行全面的应用和巩固。
本章要点
功能需求分析
总体设计
详细设计
编码实现
程序运行与发布
功能需求分析
本章将设计一款网络围棋游戏,该程序应该具备以下的功能。
该游戏的棋盘与标准围棋棋盘相同,由纵横各十九条相互平行、垂直交叉的直线组成,共有361个交叉点(以下称为“点”)。棋盘上由九个小黑圆点,代表星位。
功能需求分析
游戏规则遵循围棋标准规则,即一个棋盘上的棋子必需落在点上,与棋子相邻的空点称为它的“气”。在棋子直线相邻的点上,如果有同色的棋子存在,则它们便连成一个整体,它们的气也一并计算,反之,如果是异色棋子,则它的气就不复存在。如果所有的气被对方占据,则称为死棋,应被提掉。
功能需求分析
该游戏能满足一个人单机游戏,也能与其它计算机联机进行两人对弈。
棋子分为黑棋和白棋两种,黑棋先下,黑棋和白棋必须交替落子,直到游戏结束。
在玩家决定游戏结束后,则进行数子,所占的点大于180又1/2的一方为胜。
总 体 设 计
总体设计阶段,需要对该游戏的逻辑结构做出一个整体的设计。
该游戏共由4个模块组成,分别是主模块、监听模块、点模块和棋盘模块。其中主模块是游戏的开始模块,其余三个均是它的下级模块,供主模块调用。
模块间的逻辑关系图
总 体 设 计
主模块(MainWindow):该模块为整个游戏的入口和开始界面,玩家在该模块上实现游戏前的各项设置。该模块界面包含了棋盘画面,整个游戏过程都在该界面完成。
总 体 设 计
监听模块(Liston):该模块用于在联机状态下,接收对方电脑信息。
点模块(CrossPoint):用来传回棋盘上各点的状态信息。
棋盘模块(Board):用来封装棋盘的属性和方法。
详 细 设 计
在详细设计阶段要求完成每个模块的设计方案。
主模块(MainWindow)
监听模块(Liston)
点模块(CrossPoint)
棋盘模块(Board)
主模块(MainWindow)
主模块是整个游戏的主界面,它由棋盘区和控制区两部分组成。
主模块界面容器与组件结构图
主模块(MainWindow)
由上图可以看出,主界面为面板Panel1,棋盘区和控制区分别是面板Panel2和Panel3,面板Panel1包含了面板Panel2和Panel3,而Panel2包含了棋盘,Panel3又包含了所有游戏操作的基本控件。同时,Panel1包含于Frame窗体中。
主模块(MainWindow)
在该界面上的控件组中,应提供控制单机和联机游戏的按钮,输入对方IP地址的对话框,用于建立连接的按钮,开始/退出按钮以及一些标示性的标签组件。
网络围棋游戏主模块信息表
系统名:网络围棋游戏
设计人:
模块名:MainWindow
日期:
模块编号:1
文件名:MainWindow.java
上层调用模块:无
下层调用模块:Liston、CrossPoint
输入数据:对方联机电脑的IP号
输出数据:连接成功提示信息
控件信息:Panel1(总面板)、Panel2(棋盘区面板)、Panel3(控件区面板)、label1(显示提示信息)、label2(显示所选棋子颜色)、checkbox1(“单机”选择按钮)、checkbox2(“联机”选择按钮)、textField1(联机对方IP地址)、button1(提交连接请求)和button2(“开始/退出”按钮)。
注释:联机对方IP号错误,开始后将无法继续进行游戏。
监听模块(Liston)
该模块用于接收对方电脑信息。
系统名:网络围棋游戏
设计人:
模块名:Liston
日期:
模块编号:2
文件名:Liston.java
上层调用模块:MainWindow
下层调用模块:无
输入数据:接收对方服务器信息
输出数据:响应事件
成员变量:socket(用于创建客户端的Socket)、mainWindow(用来生成客户端的游戏窗口)
成员方法:Liston(成员变量初始化)、run(接收信息服务器端信息,并将结果显示到游戏窗口)
注释:联机对方IP号错误,开始后将无法继续进行游戏。
点模块(CrossPoint)
该模块用来封装棋盘交叉点的状态和属性。
系统名:网络围棋游戏
设计人:
模块名:CrossPoint
日期:
模块编号:3
文件名:CrossPoint.java
上层调用模块:MainWindow
下层调用模块:无
输入数据:
输出数据:
网络围棋游戏点模块信息表
原创力文档


文档评论(0)