五子棋游戏软件说明书1Word文档下载推荐.docx
- 文档编号:15097925
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:11
- 大小:51.08KB
五子棋游戏软件说明书1Word文档下载推荐.docx
《五子棋游戏软件说明书1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《五子棋游戏软件说明书1Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
本游戏对计算机硬件和操作系统要求极低,所以在这里只是把自己的电脑硬件参数和系统参数列下:
操作系统:
windowsxp
软件环境:
安装VC++6.0
4.需求分析(以下项目根据实际情况自定)
4.1功能需求
游戏说明:
游戏开始时,由黑子开局,将一枚棋子落在棋盘一坐标上,然后由白棋落子,如此轮流下子,直到某一方首先在棋盘的竖、横或斜三方向上的五子连成线,则该方该局获胜;
然后继续下一局,每胜一局得10分,输一局或平局得0分,先赢两局的一方为最终获胜者;
在下棋途中可以悔棋。
1、功能列表如下:
a)输出棋盘;
b)显示用户行程,提示用户下子;
c)查看用户的输入是否出界;
d)悔棋,下错位置可以悔棋;
e)记录并显示每局游戏结束时的步数;
f)判断每局游戏输赢,显示每局游戏的获胜者及分数。
g)判断是否进行下一局。
h)判最终赢家(三局两胜)。
i)退出游戏。
2、功能描述
(1)棋盘是15*15的方格棋盘,下棋区为a[0][0]到a[14][14]。
(2)黑子先下,白子后下,两者交替下子,下子坐标范围为(1,1)到(15,15)。
(3)当一方棋子下错位置时,输入(-1,-1)悔棋,屏幕提示悔棋方请输入下子位置。
(4)当下子的坐标处有子时,提示有子请重下。
(5)每赢一局积累10分,输一局或平局得0分,先得够20分的一方为最终赢家。
4.2性能需求
1、技术可行性
运用Windows2000/XP以上的操作系统,SQLSERVER2000的数据库技术,开发以WindowsXP为用户的操作平台,界面友善、功能齐全的《五子棋双人对战小游戏》。
2、经济可行性
一方面,新系统中棋盘界面和更强劲的功能支持,再加三局两胜制的规则,不仅增加了游戏的趣味性,而且使游戏者更尽兴;
另一方面系统开发成本低,现有PC机即可提供该系统开发工作需要的所有硬件设备环境。
3、操作可行性
操作上是键盘的使用,主要凭借输入坐标确定棋子落子位置,方便简单。
使用前只要看明白游戏规则及其方法即可。
4.3数据流图
4.4数据字典
变量及说明
数据编码:
数据名(标识符)
库名:
三局两胜制双人对战五子棋游戏
信息:
变量类型说明
x1int黑子下棋行数
y1int黑子下棋列数
x2int白子下棋行数
y2int白子下棋列数
nint下棋步数
score1int黑子分数
score2int白子分数
iint棋盘行数
jint棋盘列数
pint黑棋赢的盘数
qint白棋赢的盘数
mint下棋的局数
heimint单局黑子赢后,将要下的局数
baimint单局白子赢后,将要下的局数
5.系统设计与实现(主要说明自己所负责的模块的情况)
5.1模块功能描述
1.界面的设计
程序界面程序在启动运行时,系统会通过调用视图类中的重绘图函数对界面进行界面的初始化。
使程序界面更加友好,在使用上给用户一种清新怡然的感觉。
2.游戏中棋盘的形成
实现此功能相关代码如下:
voidCCk19View:
:
OnDraw(CDC*pDC)
{
CCk19Doc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
//TODO:
adddrawcodefornativedatahere
CBitmapbitmap;
//背景棋盘
bitmap.LoadBitmap(IDB_BITMAP1);
CDCmem,mem1,mem2,qzh,qzb;
mem.CreateCompatibleDC(pDC);
mem.SelectObject(&
bitmap);
pDC->
BitBlt(0,0,600,400,&
mem,0,0,SRCCOPY);
CBitmapbitmap5;
//死骑
bitmap5.LoadBitmap(IDB_BITMAP5);
mem2.CreateCompatibleDC(pDC);
mem2.SelectObject(&
bitmap5);
BitBlt(350,0,600,352,&
mem2,0,0,SRCCOPY);
CBitmapbitmap4;
//五子棋
bitmap4.LoadBitmap(IDB_BITMAP4);
mem1.CreateCompatibleDC(pDC);
mem1.SelectObject(&
bitmap4);
BitBlt(420,285,600,400,&
mem1,0,0,SRCCOPY);
CBitmapbitmap2;
//黑子
bitmap2.LoadBitmap(IDB_BITMAP2);
qzh.CreateCompatibleDC(pDC);
qzh.SelectObject(&
bitmap2);
CBitmapbitmap3;
//白子
bitmap3.LoadBitmap(IDB_BITMAP3);
qzb.CreateCompatibleDC(pDC);
qzb.SelectObject(&
bitmap3);
//以下是显示棋子的代码
CRectrect;
//矩形区域
GetClientRect(&
rect);
//获得窗口矩形区域
BitBlt(0,0,rect.Width(),rect.Height(),&
qp,0,0,SRCCOPY);
//绘图
for(inti=0;
i<
15;
i++)
for(intj=0;
j<
j++)
{
if(qz[i][j]==1)
{
pDC->
BitBlt(18+i*24,18+j*24,20,20,&
qzh,0,0,SRCCOPY);
}
elseif(qz[i][j]==2)
qzb,0,0,SRCCOPY);
}
}
3.游戏下子功能代码
intqz[15][15];
//棋子的二维数组
OnLButtonDown(UINTnFlags,CPointpoint)
Addyourmessagehandlercodehereand/orcalldefault
inti=(point.x-10)/24;
intj=(point.y-10)/24;
if(i<
15&
&
15)
if(qz[i][j]==0)
qz[i][j]=count%2+1;
count++;
jl[i][j]=count;
OnDraw(this->
GetDC());
Positionp(i,j,qz[i][j]);
//Position类记录各棋子的位置和值
//inths,ss,ps,ns;
是判断点(i,j)的横、竖、撇和捺有无五个子
hs=p.GetHorizontal();
ss=p.GetVertical();
ps=p.GetRightSlanting();
ns=p.GetLeftSlanting();
if(hs==5||ss==5||ps==5||ns==5)
if(qz[i][j]==1)
MessageBox("
你真是太牛了!
\n恭喜你,黑子赢了!
\n游戏结束,请重新开始。
"
);
if(qz[i][j]==2)
MessageBox("
\n恭喜你,白子赢了!
if((count==225)&
(hs!
=5)&
(ss!
(ps!
(ns!
=5))
你俩都很棒!
\n平手!
"
请握手言和"
MB_OK);
}
CView:
OnLButtonDown(nFlags,point);
4.判断功能代码
此代码用来判断当某一方下完子后是否有练成五个子的可能性。
自己创建一个类并判断
classPosition//坐标position类
public:
Position(intm,intn,intk)
{x=m;
y=n;
f=k;
intGetHorizontal();
//获得水平连续棋子的个数
intGetVertical();
//获得垂直连续棋子的个数
intGetRightSlanting();
//获得右斜连续棋子的个数
intGetLeftSlanting();
//获得左斜连续棋子的个数
private:
intf;
//记录棋子的颜色,1为黑子,2为白子
intx;
//行数
inty;
//列数
inthsy;
//水平向右
inthsz;
//水平向左
intsss;
//竖直向上
intssx;
//竖直向下
intys;
//右上
intzx;
//左下
intyx;
//右下
intzs;
//左上
};
intPosition:
GetHorizontal()//水平方向
hsy=hsz=0;
for(inti=1;
y-i>
=0;
i++)
if(qz[x][y-i]!
=f)break;
hsz=i-1;
for(i=1;
y+i<
=14;
if(qz[x][y+i]!
hsy=i-1;
return(hsy+hsz+1);
GetLeftSlanting()//左斜方向
ys=zx=0;
(x-i>
=0)&
(y+i<
=14);
if(qz[x-i][y+i]!
ys=i-1;
(x+i<
=14)&
(y-i>
=0);
if(qz[x+i][y-i]!
=f)b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 五子棋 游戏软件 说明书