示例#1
0
static int SearchNearAround(
	int x, 	   /* ����  �Ҽ�  ��   */
	int y,     /* ����  �Ҽ�  ��   */
	int floor, /* ����  �Ҽ��׷�ʧ */
	int Part,  /* ���������  �ټ����̼� */
	int Level, /*   �ҷ�Ի  ľ��������   */
	int type   /* �������� CHAR ������ */
){
	int i, iTarget = -1;
	for( i = 0; i < 4; i ++ ){
		if( Part == 0 ){ /* �������̼�ë���� */
			iTarget = SearchNearLine( x-Level+1, y-Level,
				floor, 1, 0, Level*2, type );
			if( iTarget >= 0 )break;
		}else
		if( Part == 1 ){ /* 㯼����̼�ë���� */
			iTarget = SearchNearLine( x+Level, y-Level+1,
				floor, 0, 1, Level*2, type );
			if( iTarget >= 0 )break;
		}else
		if( Part == 2 ){ /* Ʊ�����̼�ë���� */
			iTarget = SearchNearLine( x+Level-1, y+Level,
				floor, -1, 0, Level*2, type );
			if( iTarget >= 0 ) break;
		}else
		if( Part == 3 ){ /* �������̼�ë���� */
			iTarget = SearchNearLine( x-Level, y+Level-1,
				floor, 0, -1, Level*2, type );
			if( iTarget >= 0 ) break;
		}
		Part ++; Part &= 3; /* �ݼ��ɡ���ë���� */
	}
	return iTarget;
}
示例#2
0
static int SearchNearAround(
	int x, 	   /* 腹綢  艘及  甄   */
	int y,     /* 腹綢  艘及  甄   */
	int floor, /* 腹綢  艘及白夫失 */
	int Part,  /* 腹綢釩銨允月  賡及仿奶件 */
	int Level, /*   艘方曰  木化中月覃   */
	int type   /* 腹綢允月 CHAR 正奶皿 */
){
	int i, iTarget = -1;
	for( i = 0; i < 4; i ++ ){
		if( Part == 0 ){ /* 曉及仿奶件毛腹綢 */
			iTarget = SearchNearLine( x-Level+1, y-Level,
				floor, 1, 0, Level*2, type );
			if( iTarget >= 0 )break;
		}else
		if( Part == 1 ){ /* 惘及仿奶件毛腹綢 */
			iTarget = SearchNearLine( x+Level, y-Level+1,
				floor, 0, 1, Level*2, type );
			if( iTarget >= 0 )break;
		}else
		if( Part == 2 ){ /* 票及仿奶件毛腹綢 */
			iTarget = SearchNearLine( x+Level-1, y+Level,
				floor, -1, 0, Level*2, type );
			if( iTarget >= 0 ) break;
		}else
		if( Part == 3 ){ /* 爾及仿奶件毛腹綢 */
			iTarget = SearchNearLine( x-Level, y+Level-1,
				floor, 0, -1, Level*2, type );
			if( iTarget >= 0 ) break;
		}
		Part ++; Part &= 3; /* 戚及由□玄毛腹綢 */
	}
	return iTarget;
}