📄 pointstrs.cpp
字号:
#include "stdafx.h"
#include "PointStrs.h"
#include "chList.h"
#include "Define.h"
PointStrs::PointStrs()
{
int i=0;
chesstype=NOSTONE;
for(i = 0; i < 1000; i++)
numberofline[i] = 0;
}
void PointStrs::SetType(int type)
{
chesstype=type;
}
int PointStrs::KnowType()
{
return chesstype;
}
void PointStrs::UpDate(chList list,STONEMOVE p)
{
int linenumber[25];
int chessstatus[25][7];
int i=0,j=0,tempcount=0,sign=0;
list.StrOfPoint((p.StonePos[0].x),(p.StonePos[0].y),&(linenumber[1]));
for (i=1; i<=24; i++)
{
if(linenumber[i]==-1)
continue;
tempcount=0;
sign=0;
/*list.GetCoor(linenumber[i],&(chesscoor[i][1]));*/
list.GetStr(linenumber[i],&(chessstatus[i][1]));
for (j=1; j<=6; j++)
{
if ( chessstatus[i][j] == !(KnowType()) )
{
numberofline[linenumber[i]]=0;
sign=1;
break;
}
}
if(sign==0)
{
for (j=1; j<=6; j++)
{
if ( chessstatus[i][j] == (KnowType()) )
{
tempcount++;
}
}
numberofline[linenumber[i]]=tempcount;
}
}
list.StrOfPoint((p.StonePos[1].x),(p.StonePos[1].y),&(linenumber[1]));
for (i=1; i<=24; i++)
{
if(linenumber[i]==-1)
continue;
tempcount=0;
sign=0;
/*list.GetCoor(linenumber[i],&(chesscoor[i][1]));*/
list.GetStr(linenumber[i],&(chessstatus[i][1]));
for (j=1; j<=6; j++)
{
if ( chessstatus[i][j] == !(KnowType()) )
{
numberofline[linenumber[i]]=0;
sign=1;
break;
}
}
if(sign==0)
{
for (j=1; j<=6; j++)
{
if ( chessstatus[i][j] == (KnowType()) )
{
tempcount++;
}
}
numberofline[linenumber[i]]=tempcount;
}
}
}
void PointStrs::UpDate(chList list,STONEPOS s)
{
int linenumber[25];
int chessstatus[25][7];
int i=0,j=0,tempcount=0;
int sign=0;
list.StrOfPoint((s.x),(s.y),&(linenumber[1]));
for (i=1; i<=24; i++)
{
if(linenumber[i]==-1)
continue;
tempcount=0;
sign=0;
list.GetStr(linenumber[i],&(chessstatus[i][1]));
for (j=1; j<=6; j++)
{
if ( chessstatus[i][j] == !(KnowType()) )
{
numberofline[linenumber[i]]=0;
sign=1;
break;
}
}
if(sign==0)
{
for (j=1; j<=6; j++)
{
if ( chessstatus[i][j] == (KnowType()) )
{
tempcount++;
}
}
numberofline[linenumber[i]]=tempcount;
}
}
}
void PointStrs::SearchFive(int out[],int &count)
{
int i=0,j=0;
count=0;
for (i=0; i<924; i++)
{
if (numberofline[i]==5)
{
count++;
out[j]=i;
j++;
}
}
}
void PointStrs::SearchFour(int out[],int &count)
{
int i=0,j=0;
count=0;
for (i=0; i<924; i++)
{
if (numberofline[i]==4)
{
count++;
out[j]=i;
j++;
}
}
}
void PointStrs::SearchThree(int out[],int &count)
{
int i=0,j=0;
count=0;
for (i=0; i<924; i++)
{
if (numberofline[i]==3)
{
count++;
out[j]=i;
j++;
}
}
}
void PointStrs::SearchTwo(int out[],int &count)
{
int i=0,j=0;
count=0;
for (i=0; i<924; i++)
{
if (numberofline[i]==2)
{
count++;
out[j]=i;
j++;
}
}
}
void PointStrs::SearchOne(int out[],int &count)
{
int i=0,j=0;
count=0;
for (i=0; i<924; i++)
{
if (numberofline[i]==1)
{
count++;
out[j]=i;
j++;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -