だからここに動作するコードがあります。変更せずに投稿しました。0 から 1024 の間でなければならない X 値と Y 値があります。tyleSize は 1024 です。
//X の場合
int loffx=accurate(curphisobj->x) + (rand() % 100) - 50; //some math, doent matter
loffx=max(loffx,1);
loffx=min(loffx,tyleSize);
//Yについて
int loffy=accurate(curphisobj->y) + (rand() % 100) - 50;
loffy=max(loffy,1);
loffy=min(loffy,tyleSize-3);
しかし、私が次のように書くと:
int loffy=min(max(accurate(curphisobj->y) + (rand() % 100) - 50,1),tyleSize - 2);
int loffx=min(max(accurate(curphisobj->x) + (rand() % 100) - 50,0),tyleSize);
loffx と loffy 1034、1029、-5、-2 など、あらゆる種類の番号が最大値と最小値でカットされていません。
C++ コンパイラについて私が知らないことはありますか、それともばかげた間違いがありますか?