In your global variables, you're setting them to values using uninitialized variables centerX and centerY.
Also, it looks like what you're meaning to do is to use #defines instead of global variables (global variables are probably frowned upon by your professor anyway). Move the centerX and centerY integer declarations to the DarkGDK() function. And use these #defines in the global space as you did the const ints:
#define RADIUS_A 10
#define RADIUS_B 20
#define X1 (centerX - RADIUS_A)
#define Y1 (centerY - RADIUS_B)
...and so on.
Keep in mind that a #define is used to replace code text with the NAME you're defining, at compile-time. So you don't need to predefine or initialize the centerX and centerY variables before your #defines.
I would have called the RADIUS #defines (radius) X and Y, but then I saw in your code that wouldn't be correct. So name them whatever is more appropriate with what you're doing. The reason I recommend #defining them rather than making them the constants 10 and 20 that you have, is because you're repeating them throughout your definitions.
I don't think your pattern will be an octagon with width and height of 40 though. If it isn't, you may want to consider using plain ints instead of #defines or const ints for your x and y point values, and generate their values using a little math equation rather than hard-coding them in there. An equation that should work is the parametric form of a circle. Then your only #defines would be the OCTAGON_WIDTH and OCTAGON_HEIGHT of 40 and OCTAGON_SIDES of 8 (to be used in the parametric circle equation).