输入相应的坐标值,输出对应的数值。
#define MAX(a,b) ((a)>(b)?(a):(b))
#define ABS(a) ((a)>0?(a):(-a))
int Get_Pos_Value(int x,int y)
{
int value = 0;
int max = MAX(ABS(x),ABS(y));
int interNumCnt = (1+2*(max - 1))*(1+2*(max - 1));
if((0 == x)&&(0 == y))
return value;
if(max == x)
if((y + max) > 0)
value = interNumCnt + max + y;
if((max + x) == 0)
if(y < max)
value = interNumCnt + 2*(2*max) + (max - y);
if(max == y)
if(x < max)
value = interNumCnt + (2 * max) + (max - x);
if((max + y) == 0)
if((x + max) > 0)
value = interNumCnt + 3 * (2 * max) + (max + x);
return value;
}