怎样随机生成一个点,使其不在屏幕某个坐标

来源:百度知道 编辑:UC知道 时间:2024/05/17 15:27:33
就是在屏幕上一个固定的框内随机生成一点,不让它在某些点生成(随便确定某些点)
vc++控制台编程时

/*////////////////////////////////////////////////
一种符合你要求的比较笨点的算法:
参数说明:rt为矩形的范围,pPtList为某些点的数组指针,随即生成的点不能是这些点。
nListCount指定pPtList数组点的个数。
*/////////////////////////////////////////////////
CPoint RandPoint(CRect& rt, CPoint * pPtList, int nListCount)
{
CPoint rtTemp;
Start:
rtTemp.x = rand() % (rt.right - rt.left) + rt.left;
rtTemp.y = rand() % (rt.bottom - rt.top) + rt.top;

int i;
for(i=0;i<nListCount;i++)
{
if(rtTemp.x == (*pPtList).x && rtTemp.y == (*pPtList).y)
goto Start;
}

return rtTemp;
}

你说用什么来实现啊。