私の関数が行うことは、利益 (fieldProfit として宣言された関数) とフィールド スコア (fieldScore として宣言された関数) の値を取ることです。両方が 10 を超える場合、バッジを獲得するため、innerbadge = 1 になります。しかし、満たさなければならない別の条件もあります。フィールドまたは (x, y) 座標は、影付きで示される領域に収まる必要があります。真ん中に穴の開いた箱に。そのためのコードを書きましたが、ロジック/構文が正しいことを確認したかっただけです! どんな助けでも大歓迎です!
これが私のコードです:
int badgeInnerCircle(int x, int y) {
double fprofit, fscore;
int innerbadge;
if ((x >= 1 && x <= 20) && (y >= 1 && y <= 20)) {
if (((x == 7 || x == 8) && (y >= 7 && y <= 14)) || ((x == 13 || x == 14)
&& (y >= 7 && y <= 14)) || ((x >= 7 && x <= 14) && (y == 7 || y == 8))
|| ((x >= 7 && x <= 14) && (y == 13 || y == 14))) {
fprofit = fieldProfit(x, y);
fscore = fieldScore(x, y);
if (fprofit >= 10 && fscore >= 10) {
innerbadge = 1;
}
else {
innerbadge = 0;
}
}
}
else {
innerbadge = -1;
}
return innerbadge;
}