19,468
社区成员
发帖
与我相关
我的任务
分享
int NineSelByPoint(int PointX, int PointY)
{
if ((PointX>42)&&(PointX<108)&&(PointY<66))
return 0;
if ((PointX>108)&&(PointX<174)&&(PointY<66))
return 1;
if ((PointX>174)&&(PointY<66))
return 2;
if ((PointX>42)&&(PointX<108)&&(PointY>66)&&(PointY<132))
return 3;
if ((PointX>108)&&(PointX<174)&&(PointY>66)&&(PointY<132))
return 4;
if ((PointX>174)&&(PointY>66)&&(PointY<132))
return 5;
if ((PointX>42)&&(PointX<108)&&(PointY>132)&&(PointY<198))
return 6;
if ((PointX>108)&&(PointX<174)&&(PointY>132)&&(PointY<198))
return 7;
if ((PointX>174)&&(PointY>132)&&(PointY<198))
return 8;
return -1;
}
if ((PointX<=42)||(PointY>=198))//首先判断是否点击进九宫格区域
return -1;
int x = -1, y = 0;
if (PointY<66)//Y坐标在九宫格第一行
y = 0;
else
PointY>132?y=6:y=3;//Y坐标在九宫格第二,三行
if (PointX>174)//X坐标在九宫格第三列
x = 2;
else
PointX<108?x = 0:x = 1;//X坐标在九宫格第一列
return x+y;
int nCol = (PointX - 42) / 66;
int nRow = PointY / 66;
if(nCol > 0 && nCol < 3 && nRow > 0 && nRow < 3)
return nRow * 3 + nCol;
else
return -1;