利用随机数猜大小,内容如下:
1、代码的第一行,是一个include语句。没有它我们的程序会编译不过。有了它就是告诉编译器在对代码进行编译之前,必须要包含程序需要的文件。这里的stdio.h就是我们需要的头文件。
2、代码第二行是一个main函数,这个main函数的返回值是一个int整型数据。刚开始学习编程的时候我们可以认为程序运行的时候是从main函数开始的。后续会专门给大家做一个介绍向大家说明在main函数之前还做了哪些事情。
3、每个函数都用一对“{}”进行包含,表示着函数体的开始和结束,当然后面说到控制语句的时候它还表示一段控制语句的开始和结束。
4、main函数中调用了一个printf函数。它是用来向控制台输出我们想要的内容。printf的函数定位格式为:int printf(constchar*format,...)。format中定义了输出内容和格式。
5、return函数执行完后。在退出函数体之前,会将函数进行返回。return后的内容根据函数返回值定义而定。在本段程序中返回的是整型数据0。
#includeiostream
#includeiomanip
using namespace std;
const int X = 21; //棋盘行数
const int Y = 21; //棋盘列数
char p[X][Y]; //定义棋盘
int m=0;//定义临时点,保存输入坐标
int n=0;
void display() //输出棋盘
{
for(int i=0; iX; i++)
coutsetw(3)setfill(' ')i;
coutendl;
for(int i=1; iY; i++)
{
coutsetw(3)setfill(' ')i;
for(int j=1;jX;j++)
coutsetw(3)setfill(' ')p[i][j];
coutendl;
}
}
void black() //黑方落子
{
cout"请黑方输入落子位置:\n"
"请输入落子的行数:";
cinm;
cout"请输入落子的列数:";
cinn;
if(m=0||m=X||n=Y||n=0)
{
cout"超出棋盘范围,请重新输入正确坐标!\n";
black();
}
else if((p[m][n]==1)||p[m][n]==2)
{
cout"该点已有棋子,请重新选取落子点!\n";
black();
}
else
p[m][n]=1; //黑方用1来表示
system("cls");
display();
}
void red() //红方落子
{
cout"请红方输入落子位置:\n"
"请输入落子的行数:";
cinm;
cout"请输入落子的列数:";
cinn;
if(m=X||m=0||n=0||n=Y)
{
cout"超出棋盘范围,请重新输入正确坐标!\n";
red();
}
else if((p[m][n]==1)||p[m][n]==2)
{
cout"该点已有棋子,请重新选取落子点!\n";
red();
}
else
p[m][n]=2; //红方用2来表示
system("cls");
display();
}
int evalue() //只需要判断落子点为中心的九点“米”字是否连续即可
{
int k = 0,r = 0;
/*斜线判断*/
for(k=3;kX-2;k++) //两条,其中的p[k][r]!='-'是排除空子的情况
{
for(r=3;rY-2;r++)
{
if(p[k][r]!='-'p[k-2][r-2]==p[k][r]p[k-1][r-1]==p[k][r]p[k+1][r+1]==p[k][r]p[k+2][r+2]==p[k][r])
return 1;
else if(p[k][r]!='-'p[k+2][r-2]==p[k][r]p[k+1][r-1]==p[k][r]p[k-1][r+1]==p[k][r]p[k-2][r+2]==p[k][r])
return 1;
}
}
/*横线判断*/
for(k=1;kX;k++) //p[k][r]!='-'是排除空子的情况
for(r=3;rY-2;r++)
if(p[k][r]!='-'p[k][r-2]==p[k][r]p[k][r-1]==p[k][r]p[k][r+1]==p[k][r]p[k][r+2]==p[k][r])
return 1;
/*竖线判断*/
for(k=3;kX-2;k++) //p[k][r]!='-'是排除空子的情况
for(r=1;rY;r++)
if(p[k][r]!='-'p[k-2][r]==p[k][r]p[k-1][r]==p[k][r]p[k+1][r]==p[k][r]p[k+2][r]==p[k][r])
return 1;
return 0;
}
int main()
{
memset(p,'-',441); //初始化为‘-’
cout"欢迎使用简易双人对战五子棋游戏\n"
"五子棋棋谱如下:\n";
display();
while(1)
{
red();
if(evalue())
{
cout"红方赢!\n";
break;
}
black();
if(evalue())
{
cout"黑方赢!\n";
break;
}
}
return 0;
}
人人对战五子棋
利用随机数猜大小,如下:
1、代码的第一行,是一个include语句。没有它我们的程序会编译不过。有了它就是告诉编译器在对代码进行编译之前,必须要包含程序需要的文件。这里的stdio.h就是我们需要的头文件。
2、代码第二行是一个main函数,这个main函数的返回值是一个int整型数据。刚开始学习编程的时候我们可以认为程序运行的时候是从main函数开始的。后续会专门给大家做一个介绍向大家说明在main函数之前还做了哪些事情。
3、每个函数都用一对“{}”进行包含,表示着函数体的开始和结束,当然后面说到控制语句的时候它还表示一段控制语句的开始和结束。
4、main函数中调用了一个printf函数。它是用来向控制台输出我们想要的内容。printf的函数定位格式为:int printf(constchar*format,...)。format中定义了输出内容和格式。
5、return函数执行完后。在退出函数体之前,会将函数进行返回。return后的内容根据函数返回值定义而定。在本段程序中返回的是整型数据0。
我来说两句