できる事はできるのですが、方向が偏ってしまいます
上→下→上→下みたいな事が起きやすいです
何か偏りにくい方法は無いでしょうか?
ボスが移動範囲内のどこに移動するかを求めたいです
今は画面内にランダムに点を打ち、移動範囲内なら移動を登録しています
int SetBossRandMove(int CenterX,int CenterY,int ReachX,int ReachY,int Reach_MAX,int Reach_MINI,int Count){//不規則移動を登録する関数
float flag,X,Y;
do{
X=(GetRand(1)==0)?GetRand(447):Boss.x;
Y=(GetRand(1)==0)?GetRand(479):Boss.y;
if( X<CenterX-ReachX || X>CenterX+ReachX || Y<CenterY-ReachY || Y>CenterY+ReachY )flag=1;
else if( (X-Boss.x)*(X-Boss.x)+(Y-Boss.y)*(Y-Boss.y)>Reach_MAX*Reach_MAX || (X-Boss.x)*(X-Boss.x)+(Y-Boss.y)*(Y-Boss.y)<Reach_MINI*Reach_MINI )flag=1;
else flag=0;
}while( flag );
SetBossMove(X-Boss.x,Y-Boss.y,Count);//物理的計算を登録
return (Boss.ReachX==0.0)?1:(Boss.ReachX<0.0)?0:2;
}//不規則移動を登録する関数