📄 tmp.cpp
字号:
int FIVE_CalcCount(APP_DATA *pdata, int color)
{
int i, j, m, n, k1, k2, s1, s2, s3,dead01, dead02, dead11, dead12;
int max_count =0, max_i =LINE_COUNT/2, max_j =LINE_COUNT/2, count;
if(pdata->cur_deep >= pdata->deep) return 0;
for(i =0; i<LINE_COUNT; i++)
for(j =0; j<LINE_COUNT; j++)
{
if(pdata->tmp_man[i][j] ==0)
{
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =i+1; m<LINE_COUNT; m++)
{
if(pdata->tmp_man[m][j] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][j] ==0)
s1 +=1;
else if(pdata->tmp_man[m][j] ==1)
{
s3 -=1;
break;
}
}
for(m =0; m<i-1; m++)
{
if(pdata->tmp_man[m][j] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead11 ++;
if(s2 ==1)
dead12 ++;
}
else if(pdata->tmp_man[m][j] ==0)
s2 +=1;
else if(pdata->tmp_man[m][j] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][0] =k1*20+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =j+1; m<LINE_COUNT; m++)
{
if(pdata->tmp_man[i][m] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[i][m] ==0)
s1 +=1;
else if(pdata->tmp_man[i][m] ==1)
{
s3 -=1;
break;
}
}
for(m =0; m<j-1; m++)
{
if(pdata->tmp_man[i][m] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead11 ++;
if(s2 ==1)
dead12 ++;
}
else if(pdata->tmp_man[i][m] ==0)
s2 +=1;
else if(pdata->tmp_man[i][m] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][2] =k1*20+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =i-1, n=j-1; m>=0 && n>=0; m--, n--)
{
if(pdata->tmp_man[m][n] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s1 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
for(m =i+1, n=j+1; m <LINE_COUNT && n <LINE_COUNT; m++, n++)
{
if(pdata->tmp_man[m][n] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead01 ++;
if(s2 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s2 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][1] =k1*20+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =i-1, n=j+1; m>=0 && n<LINE_COUNT; m--, n++)
{
if(pdata->tmp_man[m][n] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s1 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
for(m =i+1, n=j-1; m <LINE_COUNT && n >=0; m++, n--)
{
if(pdata->tmp_man[m][n] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead01 ++;
if(s2 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s2 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][3] =k1*20+1+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;;
}
else
{
pdata->tmp_count_info[i][j][0] =
pdata->tmp_count_info[i][j][1] =
pdata->tmp_count_info[i][j][2] =
pdata->tmp_count_info[i][j][3] =0;
}
for(m =0; m<4; m++)
count +=pdata->tmp_count_info[i][j][m];
if(count > max_count)
{
max_count =count;
max_i =i;
max_j =j;
}
}
pdata->cur_deep ++;
pdata->tmp_man[max_i][max_j] =MAN_WHITE;
FIVE_CalcCount(pdata, color);
return 0;
}
int FIVE_CheckWin(APP_DATA *pdata)
{
return 0;
}
int FIVE_tmp(APP_DATA *pdata, int i, int j)
{
int m, n, k1, k2, s1, s2, s3,dead01, dead02, dead11, dead12;
{
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =i+1; m<LINE_COUNT; m++)
{
if(pdata->tmp_man[m][j] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][j] ==0)
s1 +=1;
else if(pdata->tmp_man[m][j] ==1)
{
s3 -=1;
break;
}
}
for(m =0; m<i-1; m++)
{
if(pdata->tmp_man[m][j] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead11 ++;
if(s2 ==1)
dead12 ++;
}
else if(pdata->tmp_man[m][j] ==0)
s2 +=1;
else if(pdata->tmp_man[m][j] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][0] =k1*20+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =j+1; m<LINE_COUNT; m++)
{
if(pdata->tmp_man[i][m] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[i][m] ==0)
s1 +=1;
else if(pdata->tmp_man[i][m] ==1)
{
s3 -=1;
break;
}
}
for(m =0; m<j-1; m++)
{
if(pdata->tmp_man[i][m] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead11 ++;
if(s2 ==1)
dead12 ++;
}
else if(pdata->tmp_man[i][m] ==0)
s2 +=1;
else if(pdata->tmp_man[i][m] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][2] =k1*20+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =i-1, n=j-1; m>=0 && n>=0; m--, n--)
{
if(pdata->tmp_man[m][n] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s1 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
for(m =i+1, n=j+1; m <LINE_COUNT && n <LINE_COUNT; m++, n++)
{
if(pdata->tmp_man[m][n] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead01 ++;
if(s2 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s2 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][1] =k1*20+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;
k1 =0;
k2 =0;
s1 =s2 =s3 =0;
dead01=dead11=dead02=dead12 =0;
for(m =i-1, n=j+1; m>=0 && n<LINE_COUNT; m--, n++)
{
if(pdata->tmp_man[m][n] ==2)
{
k1 +=LINE_COUNT;
if(s1 ==0)
dead01 ++;
if(s1 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s1 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
for(m =i+1, n=j-1; m <LINE_COUNT && n >=0; m++, n--)
{
if(pdata->tmp_man[m][n] ==2)
{
k2 +=LINE_COUNT;
if(s2 ==0)
dead01 ++;
if(s2 ==1)
dead02 ++;
}
else if(pdata->tmp_man[m][n] ==0)
s2 +=1;
else if(pdata->tmp_man[m][n] ==1)
{
s3 -=1;
break;
}
}
if(k1 <0) k1 =0;
if(k2 <0) k2 =0;
pdata->tmp_count_info[i][j][3] =k1*20+1+k2+(s1+s2)%5+s3+(dead01+dead11+1)/3*1000+(dead02+dead12+1)/3*200;;
}
SPRINTF(temp, "0:%d,1:%d,2:%d,3:%d ",
pdata->tmp_count_info[i][j][0],
pdata->tmp_count_info[i][j][1],
pdata->tmp_count_info[i][j][2],
pdata->tmp_count_info[i][j][3]);
FIVE_ShowStat(pdata, temp);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -