五子棋判断输赢C
来源:互联网 发布:产品经理数据分析 编辑:程序博客网 时间:2024/04/30 16:02
这是我的五子棋胜负判断 效率一般:
/*
5 4 6
/|/
1 - - 3
/|/
7 2 8
*/
int checkChessWin(Site checkSize)
{
int i, j ;
int flagDirect = 0 ;
for(i = 1;i < 5;i++)
{
// 1
if(checkSize.x+i >= CB_LEN
|| chessMan[checkSize.x+i][checkSize.y] != chessKey+1)
{
flagDirect = flagDirect|1 ;
}
// 2
if(checkSize.y+i >= CB_LEN
|| chessMan[checkSize.x][checkSize.y+i] != chessKey+1)
{
flagDirect = flagDirect|2 ;
}
// 3
if(checkSize.x-i < 0
|| chessMan[checkSize.x-i][checkSize.y] != chessKey+1)
{
flagDirect = flagDirect|4 ;
}
// 4
if(checkSize.y-i < 0
|| chessMan[checkSize.x][checkSize.y-i] != chessKey+1)
{
flagDirect = flagDirect|8 ;
}
// 5
if(checkSize.x-i < 0 && checkSize.y-i < 0
|| chessMan[checkSize.x-i][checkSize.y-i] != chessKey+1)
{
flagDirect = flagDirect|16 ;
}
// 6
if(checkSize.x+i >= CB_LEN && checkSize.y-i < 0
|| chessMan[checkSize.x+i][checkSize.y-i] != chessKey+1)
{
flagDirect = flagDirect|32 ;
}
// 7
if(checkSize.x-i < 0 && checkSize.y+i >= CB_LEN
|| chessMan[checkSize.x-i][checkSize.y+i] != chessKey+1)
{
flagDirect = flagDirect|64 ;
}
// 8
if(checkSize.x+i >= CB_LEN && checkSize.y+i >= CB_LEN
|| chessMan[checkSize.x+i][checkSize.y+i] != chessKey+1)
{
flagDirect = flagDirect|128 ;
}
}
return flagDirect;
}
- 五子棋判断输赢C
- JAVA判断五子棋输赢
- winform 五子棋 判断输赢
- 五子棋算法判断输赢
- 五子棋 判断输赢的函数
- java五子棋判断输赢算法
- java-----五子棋小游戏(三)-----判断输赢
- JAVA 五子棋 判断输赢的代码实现
- 五子棋研究 判断输赢条件,及不复杂的AI算法 2个 。
- 今天用COCOS2DX写了个五子棋,记录下判断输赢的算法
- android游戏开发之我的小小游戏1——五子棋游戏2之判断输赢
- 输赢
- 输赢
- 输赢
- 井字棋判断输赢的两种方法
- HDU4101-很好的BFS题目(虽然结果是判断输赢)
- 用angularJS两个人掷骰子判断输赢
- C语言五子棋算法
- Turbo c++ explorer 使用GDI Plus
- RedHat4下安装mysql
- 男人分手后该做的9件事情
- sql中like语句详解
- 技术高手的十三个原则
- 五子棋判断输赢C
- javaFx简介
- 温习段三:C++中的C
- 联合体和枚举类型
- 五子棋人机对战思想
- Note 07/08/04 using oracle and js in Asp.net2.0
- 【转】Java继承时构造函数的调用
- 在minimo中用方向键切换焦点
- 面向对象设计原则(C#版二)