Calculating profit and score, if coordinates fall in a certain region of a field
I think we can all agree that that code is hard to read.  Rather than treating the dark shaded zone as the union of four rectangles, you would be better off treating it as a square with the centre excluded.

I've used a macro to reduce the verbosity.

In your code, when (x, y) falls in either of the white zones, you return an uninitialized value for innerbadge.  In those cases, the behaviour is undefined.

#define XY_IN_SQUARE(min, max) (((min) &lt;= x &amp;&amp; x &lt;= (max)) &amp;&amp; \
                                ((min) &lt;= y &amp;&amp; y &lt;= (max)))

int badgeInnerCircle(int x, int y) {
    if (XY_IN_SQUARE(9, 12)) {          /* In innermost white zone */
        return /* what? */;
    } else if (XY_IN_SQUARE(7, 14)) {   /* In dark grey zone */
        double fprofit = fieldProfit(x, y);
        double fscore = fieldScore(x, y);

        /* The following value will be either 1 or 0 */
        return fprofit &gt;= 10 &amp;&amp; fscore &gt;= 10;
    } else if (XY_IN_SQUARE(2, 19)) {   /* In outer white zone */
        return /* what? */;
    } else if (XY_IN_SQUARE(1, 20)) {   /* On yellow border */
        return /* what? */;
    } else {                            /* Outside yellow border */
        return -1;
    }
}