求解释啊 ! 这段代码是啥意思啊?这是一个五子棋程序的代码.

bool five::IsxyWin()
{
int num1=1,num2=1,num3=1,num4=1;
for(int i = x ; i < x+5&& x+5<20 ; i ++)
{
if(qipan[y-1][i] == '.')
break;
else
num1++;
}
for(i = x-2; i >= 0 ; i --)
{
if(qipan[y-1][i] == '.')
break;
else
num1++;
}
for( i = y ; i < y+5 ; i ++)
{
if(qipan[i][x-1] == '.')
break;
else
num2++;
}
for(i = y-2; i >= 0 ; i --)
{
if(qipan[i][x-1] == '.')
break;
else
num2++;
}
for(i = 0 ; i < 5 && x+i<20 && y+i<20; i++ )
{
if(qipan[x+i][y+i] =='.')
break;
else
num3++;
}
for(i = 0 ; x - i -2>=0 && y-i-2>=0 && i < 5;i++ )
{
if(qipan[x-i-2][y-i-2] == '.')
break;
else
num3++;
}
for(i = 0 ; x + i < 20 && y - i - 2 >= 0 && i < 5;i ++)
{
if(qipan[y-i-2][x+i] == '.')
break;
else
num4++;
}
for(i = 0 ; y + i < 20 && x - i - 2 >= 0 && i < 5;i ++)
{
if(qipan[y+i][x-i-2] == '.')
break;
else
num4++;
}
if(num1>=5||num2>=5||num3>=5||num4>=5)
return 1;
else
return 0;

}
bool five::IsmnWin()
{
int num1=1,num2=1,num3=1,num4=1;
for(int i = m ; i < m+5&& m+5<20 ; i ++)
{
if(qipan[n-1][i] == '.')
break;
else
num1++;
}
for(i = m-2; i >= 0 ; i --)
{
if(qipan[n-1][i] == '.')
break;
else
num1++;
}
for( i = n ; i < n+5 ; i ++)
{
if(qipan[i][m-1] == '.')
break;
else
num2++;
}
for(i = n-2; i >= 0 ; i --)
{
if(qipan[i][m-1] == '.')
break;
else
num2++;
}
for(i = 0 ; i < 5 && m+i<20 && n+i<20; i++ )
{
if(qipan[m+i][n+i] =='.')
break;
else
num3++;
}
for(i = 0 ; m - i -2>=0 && n-i-2>=0 && i < 5;i++ )
{
if(qipan[m-i-2][n-i-2] == '.')
break;
else
num3++;
}
for(i = 0 ; m + i < 20 && n - i - 2 >= 0 && i < 5;i ++)
{
if(qipan[n-i-2][m+i] == '.')
break;
else
num4++;
}
for(i = 0 ; n + i < 20 && m - i - 2 >= 0 && i < 5;i ++)
{
if(qipan[n+i][m-i-2] == '.')
break;
else
num4++;
}
if(num1>=5||num2>=5||num3>=5||num4>=5)
return 1;
else
return 0;

}

第1个回答  2012-06-12
0

...这段代码是啥意思啊?这是一个五子棋程序的代码.
0

C#五子棋部分代码,求详细解释.谢谢...
for循环的意思就是从第一个玩家开始到最后一个玩家 if (gameRoom.gamePlayer[i].GameUser != null)表示如果有玩家的话,SendToOne(gameRoom.gamePlayer[i].GameUser, str);表示就发送信息(str)给每个玩家。

java五子棋人机对战的一段代码帮我具体分析下是怎么运算的!
shape是三维数组,前两维是位置,第三维开始,0-3放着4个方向的连着的同颜色子的数目(个人估计应该排序过),4放着评估值 下面的一堆循环是这样的:如果已经有5个连一起,评估值为最高(200),跳出 如果是4个,则看下一个连着的棋子数,4个150分,3个100分,其他50分 如果是3个,则看下一...

用C++编写的小游戏源代码
五子棋的代码:include<iostream> include<stdio.h> include<stdlib.h> include using namespace std;const int N=15; \/\/15*15的棋盘 const char ChessBoardflag = ' '; \/\/棋盘标志 const char flag1='o'; \/\/玩家1或电脑的棋子标志 const char flag2='X'; \/\/玩家2的棋子标...

求一个C语言小程序(五子棋)源代码
五子棋源代码c语言 winform五子棋源代码 其他类似问题 2016-05-28 谁能给一个c语言五子棋程序源代码要可以运行的 2015-07-25 求一个C语言编写的五子棋代码 2011-01-11 如何用C语言做一个五子棋程序?要有源代码。 2015-06-27 C语言设计出的鼠标操作的五子棋源代码 1 2014-07-04 求一个C语言的五子...

求一个c语言编写的五子棋游戏代码
define SHURU 1 define FANGXIANG 2 define WUXIAO 0 define TUICHU 3 \/*** ***\/ static int ii = 0, jj = 0, wanj ia = 1;\/*** ***\/ void hqp(int a[][20], int);int anjian(char an);int panduan(int a[][20]);void pingmu(void);void guangbiaoyd(char an)void jh(...

下了个JAVA五子棋代码不会看 求注释
color_Qizi=0; \/\/白棋先 } else { color_Qizi=1; \/\/黑棋先 } } public void actionPerformed(ActionEvent e) \/\/ActionListener接口中的方法,也是必须的 { Graphics g=getGraphics(); \/\/这句话貌似可以去掉,g是用来画图或者画界面的 if (e.getSource()==b1) \/\/如果动作的来源是第一个按钮...

求一个简单的JAVA五子棋代码!! 网上复制的别来了!
int xlabel;\/\/ 记录第一次找到某个棋子的x坐标 int ylabel;\/\/ 记录第一次找到某个棋子的y坐标 \/\/ ●○╋ \/\/ 判断人是否赢了 for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { if (board[i][j].equals("○")) { xlabel = i;ylabel = j;\/\/ ...

求一个用C语言编写五子棋游戏的全部代码.
使用语言:C++使用工具:vs2019

急!!! Java五子棋源代码注释
"这个一个五子棋游戏程序,黑白双方轮流下棋,当某一方连到五子时,游戏结束。"); } \/\/ 点击 认输 按钮 if (e.getX() >= 400 && e.getX() <= 470 && e.getY() >= 270 && e.getY() <= 300) { int result = JOptionPane.showConfirmDialog(this, "是否确认认输?"); if (result == 0) { if...

相似回答
大家正在搜