四国军旗游戏设计文档.docx
- 文档编号:29712004
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:13
- 大小:79.69KB
四国军旗游戏设计文档.docx
《四国军旗游戏设计文档.docx》由会员分享,可在线阅读,更多相关《四国军旗游戏设计文档.docx(13页珍藏版)》请在冰豆网上搜索。
四国军旗游戏设计文档
四国军旗游戏设计文档
作者:
34060121杜武伦
34060122乐一鸣
项目定义:
1 引言
1.1开发背景
这次Java大作业我们使用Java编写一个单机版的全明四国军旗。
很多Java小游戏网上都能够当到原代码,能够很好的了解到这些程序是怎么编的。
而四国军旗是我们很喜欢玩的游戏,在网上也没有源码。
因此,我们根据获得的经验,开发出这个小游戏。
2项目概述
2.1工作内容
本项目的内容包括UI部分和逻辑部分。
UI部分包括棋盘和棋子的图形界面设计,图片裁减和修改,棋子位置的摆放,注册事件。
逻辑部分包括布局规则的设计与实现,走棋规则的设计与实现,游戏流程的控制等部分。
2.2主要功能
本项目能够实现全明四国军旗游戏。
由于是单机版游戏,因此不能够实现网络中对战时各自可见的功能,但是可以实现全明四国军旗。
四方轮流在一台电脑上走棋。
根据规则,能够判定胜负。
2.3主要参加人员
本项目涉及到四方的逻辑控制,较为复杂,在UI方面代码量也较大,因此由杜武伦和乐一鸣同学共同完成。
其中UI和总的程序流程控制部分由杜武伦同学实现,规则类的编写由乐一鸣同学实现。
2.4产品
本项目产品包括项目的可执行程序,原代码,项目的相关文档等。
2.5完成项目最后期限
最后期限为12月20日
3支持条件
3.1Windowsxp操作系统
3.2Eclipse3.2JDK1.4
需求分析
1引言
1.1编写目的
本软件需求说明旨在明确对功能、性能、输入输出的要求,加深对本项目的认识,并使用户确认其所需的要求,、同时还作为项目各阶段评估的依据。
1.2背景
待开发的软件系统命名为全明四国军旗单机版。
本项目任务提出者:
乐一鸣
本项目任务完成者:
杜武伦、乐一鸣
用户:
喜欢全明四国军旗的玩家
2任务概述
2.1目标
完成此小游戏的开发,掌握Java语言的逻辑控制,熟悉UI的设计。
2.2用户的特点
对此游戏有一定兴趣的人
3需求规定
3.1对功能的规定
3.1.1流程图
3.1.2输入输出
输入:
对旗子进行的操作
输出:
棋局的形势和结果
概要设计
1引言
1.1编写目的
A.本概要设计说明书的编写目的:
进一步规范用户需求的实现,规范软件的设计思路,阐明本开发小组对四国军棋系统的结构设计以及功能划分,为下一步的详细设计以及以后的软件编码打下坚实的基础。
B.本概要设计说明书的预期读者:
项目开发人员,项目风险承担者,评审人员,客户方面的技术人员。
1.2背景
a.项目名称:
单机版四国军棋小游戏
b.项目提出者:
四国军棋工作小组
c.项目开发者:
四国军棋工作小组
d.实现该项目的计算机是:
个人计算机
1.3定义
无。
1.4参考资料
a.ThinkinginJava作者:
BruceEckel
b.软件工程作者:
IanSommerville
c.Java版中国象棋双人对战程序
2总体设计
2.1需求规定
本系统的主要输入输出项目以及处理的功能性能要求见下表:
功能
输入
输出
说明
用户登录
用户名
登录是否成功
用户选择对战方
开始布局
点击新游戏按钮
鼠标点击棋子布局
是否成功
游戏布局
开始游戏
点击开始按钮
开始游戏
开始游戏,四方轮流
落子
按逆时针方向
落子
走子以及
吃子
鼠标点击棋子
走子或吃子
走子吃子是否成功
按规则走子或吃子
失败则重来
判断是否结束
无输入
那方获胜
一方军旗全失则失败
记录奖励积分
无输入
各个用户积分多少
胜方加两分,负方减一分
2.2运行环境
A.设备
P3以上的PC机256M以上内存都可以运行本软件。
B.支持软件
WinXP平台
C.控制
键盘鼠标控制
2.3基本设计概念和处理流程
本软件分三部分进行设计,1---界面部分,2---逻辑控制部分3---规则类部分
其中
1.界面部分控制,控制用户登录,棋盘,棋子显示,游戏进程控制等
2.逻辑控制部分,游戏内部控制,负责调用规则类
3.规则类部分,设置棋子走子,吃子规则
2.4结构
.
2.5功能器求与程序的关系
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
mainframe
junqirule
loadface
登录
√
布局
√
走子
√
√
吃子
√
√
判断胜利
√
√
积分增减
√
2.6人工处理过程
无
2.7尚未问决的问题
无
3接口设计
3.1用户接口
用户接口采用WINDOWS标准的GUI界面。
3.2外部接口
键盘,鼠标
3.3内部接口
ActionListener,MouseListener,Runnable
4运行设计
见上面介绍。
5系统数据结构设计
5.1逻辑结构设计要点
用户名称char[10]
积分int
6系统出错处理设计
6.1出错信息
故障
系统信息
处理方法
未布局,直接开始
警告
重新布局
移动错误
警告
重新移动
吃子错误
无
重新吃子
系统出现不可预料的情况的时候,系统会弹出错误框,并退出程序
详细设计
1引言
1.1编写目的
本项目目标是开发出一款单机版的四国军旗游戏,提供个给众多喜欢四国军旗的朋友们在一台电脑上进行四国军旗游戏。
1.2背景
说明:
a.本项目名为明四国军旗单机版。
b.本项目的任务提出者为乐一鸣、开发者为乐一鸣和杜武伦。
1.3参考资料
《四国军旗概要设计文档》杜武伦乐一鸣《软件工程课程计划》《Chess》网上象棋源码
《ThinkinginJava》作者:
BruceEckel翻译:
侯捷
机械工业出版社
2程序(标识符)设计说明
2.1程序描述
本程序实现了四国军旗的小游戏。
2.2功能
输入:
对旗子进行的操作
处理:
根据规则对操作进行判断
输出:
棋局的形势和结果
2.3算法实现
在规则类中实现了判断位置算法:
其具体方法是,将精确坐标模糊化,把整个棋盘上的左边,定位到16*16的位置中。
从而实现了移动和吃子位置判断。
还实现了判断两点之间是否有铁路的算法,具体为:
先预存棋盘上铁路的模糊化坐标,在判断两点位于那一段铁路上,然后遍历所有棋子,模糊化棋子坐标,再判断是否有棋子位于这段铁路上这两个棋子之间。
2.4流程逻辑
2.5接口设计
publicclassmainframextendsJFrameimplementsActionListener,MouseListener,Runnable{//主框架
mainframe(Stringtitle)
{//主界面设计
PublicvoiddrawChessMan()
{
}
Publicvoidrun()
{//闪烁旗子线程
}
PublicvoidmouseClick(MouseEventme)
{//鼠标点击事件
}
PublicvoidactionPerformed(ActionEventae)
{//注册监听器
}
PublicintimageArea(MouseEventme)
{//判断鼠标点击位置
}
PublicBooleancanChange(intman,inti)
{//布局时看两个棋子是否可以交换位置
}
Publicstaticvoidmain(Stringargv[])
{//主函数
}
}
PublicclassJunqiRule()
{//规则类
Privateintplayarea(JLabelplay)
{//判断旗子的位置
}
PrivateintimageArea(MouseEventme)
{//判断鼠标点击位置
}
PrivateintexactX(JLabelplay)
{//模糊化X坐标
}
PrivateintexactY(JLabelplay)
{//模糊化Y坐标
}
PrivateintexactX(MouseEventme)//重载
{
}
PrivateintexactY(mouseEventme)
{
}
PrivateBooleaninOneLine(JLabelplay1,JLabelplay2,JLabelplayQ[])
{//判断是否有铁路以及是否有障碍
}
PrivateBooleaninOneLine(JLabelplay,MouseEventme,JLabelplayQ[])
{//重载
}
PublicvoidthirdRule(JLabelplay,MouseEventme,JLabelplayQ[])
{第三类旗子走棋规则
}
PublicvoidthirdRule(JLabelplay1,JLabelplay2,JLabelplayQ[])
{//重载
}//吃子规则
PublicvoidfourthRule(JLabelplay,MouseEventme,JLabelplayQ[])
{第四类旗子走棋规则
}
PublicvoidfourthRule(JLabelplay1,JLabelplay2,JLabelplayQ[])
{//重载
}//吃子规则
PublicvoidfifthRule(JLabelplay,MouseEventme,JLabelplayQ[])
{//第五类旗子走棋规则
}
PublicvoidfifthRule(JLabelplay1,JLabelplay2,JLabelplayQ[])
{//重载
}
Privateintposition(JLabelplay1,JLabelplay2)
{//判断两个棋子的相对位置
}
Privateintcompare(JLabelplay1,JLabelplay2)
{//比较两个棋子大小
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 国军 游戏 设计 文档