- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
添XO 游戏
目 录
1 题目内容及设计要求 1
2 总体设计 1
2.1 总体功能框图 1
2.2 类的设计说明 2
2.3 主要算法流程图 2
3 程序清单及注释 4
4 运行结果与分析 13
5 总结 14
6 参考文献 15
题目内容及设计要求
填XO游戏程序
内容及要求:
游戏规则和胜利条件:
选择难度1:(1)两个斜对角之一都为X或O,则玩家胜。(2)一横行都为X或O则玩家胜。(3)一竖行都为X或O则玩家胜。
选择难度2:两个斜对角之一都为X或O,则玩家胜。
选择难度3:两个斜对角都为X或O,则玩家胜。
棋盘共有5行5列:
输入必须为一个两位整数,如11,代表棋盘的第一行第一列,输完后按回车键;
玩者下一步X或O,计算机也自动下一步X或O。
2 总体设计
2.1 总体功能框图
总体功能框图如下。
图 2-1 填XO游戏程序的总体功能框
2.2 类的设计说明
2.2.1 Class类的说明如下:
图2-2 类chass的说明图
board[6][6] 为一个char类型的二维数组。
Chess() 为构造函数,默认初始建立一个空的棋盘。
void point(int isx , int isy , char cxoo ) 把数组中对应位置修改为‘o’或‘x’。
int checkpoint(int isx , int isy ) 检查数组对应位置是否被填满。
void drawchess() 清屏后重新绘制棋盘。
void drawit(int jj) 不清屏重新绘制棋盘 。
int check(chess ab , int nandu) 判断胜利与否。
2.2. 2 其余部分:
int getrandint(int min , int max) 随机获得一个数。
int main () 主函数。
主要算法流程图
2.3. 1 主要算法流程图如下:
图2-3 主要算法流程图
程序清单及注释
#includeiostream
#includecstdlib
using namespace std;
class chess
{
char cboard[6][6];
public:
chess()
{
for(int i = 1 ; i6 ; i++)
{
for(int j =1 ; j6 ; j++)
{
cboard[i][j]= ;
}
}
}
void point(int isx , int isy , char cxoo )
{
int px,py;
char name;
px=isx ;
py=isy ;
name=cxoo;
cboard[px][py]=name;
}
int checkpoint(int isx , int isy )
{
int px,py;
px=isx ;
py=isy ;
if(cboard[px][py]==o||cboard[px][py]==x)
{
return 1;
}
else
{
return 0;
}
}
void drawchess()
{
system(cls);
for(int i=1 ; i6; i++)
{
for(int j=1 ; j6 ; j++)
{
coutcboard[i][j]| ;
}
coutendl;
}
}
void drawit(int jj)
{
for(int i=1 ; i6; i++)
{
for(int j=1 ; j
文档评论(0)