对于这么简单的问题,我很抱歉(我已经谷歌了,但我很难过,对编程很新)
示例代码如下
public Point GetRandomWalkableLocationInRoom(Rectangle room)
{
if (DoesRoomHaveWalkableSpace(room))
{
for (int i = 0; i < 100; i++)
{
int x = Game.Random.Next(1, room.Width - 2) + room.X;
int y = Game.Random.Next(1, room.Height - 2) + room.Y;
if (IsWalkable(x, y))
{
return new Point(x, y);
}
}
}
return null;
}
在DoesRoomHaveWalkableSpace(room)为false的情况下,要么抛出异常(如果这适合您的实现),要么返回一些默认值,如'new Point(double.NaN,double.NaN)'或'new Point(null,空值)'。