Code:
Program received signal SIGTRAP, Trace/breakpoint trap.
0x0000000000401285 in game (prize=1, gameCount=1, hawkWinningMultiplier=1.5, playerCount=50) at bar.c:237
237 connections[players[i].neighborCount] += 1;
(gdb) p i
$1 = 12
(gdb) p players[i].neighborCount
$2 = 51
(gdb) bt
#0 0x0000000000401285 in game (prize=1, gameCount=1, hawkWinningMultiplier=1.5, playerCount=50) at bar.c:237
#1 0x00000000004013fa in testGameCount (prize=1, gameCount=50, hawkMultiplier=1.5, playerCount=50, repetitionCount=20) at bar.c:266
#2 0x00000000004019cf in main () at bar.c:367
(gdb) list 211,237
211 int* connections = (int*)malloc(sizeof(int) * maxConnections); //connection[x] is the count of players with x connections
212
213 for (int i = 0; i < maxConnections; i++)
214 {
215 connections[i] = 0;
216 }
217 printf("START: Doves: %i, hawks: %i \n", doves, hawks);
218
219 for (int i = 0; i < gameCount; i++)
220 {
221 int index = rand() % playerCount;
222 PlayPlayer(&players[index], prize, hawkWinningMultiplier);
223 }
224 doves = 0;
225 hawks = 0;
226
227 for (int i = 0; i < playerCount; i++)
228 {
229 if (players[i].strat == HAWK)
230 {
231 hawks += 1;
232 }
233 else
234 {
235 doves += 1;
236 }
237 connections[players[i].neighborCount] += 1;
(gdb) p maxConnections
$3 = 51
(gdb) p *connections@51
$4 = {0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0 <repeats 15 times>, 5, 1, 0}
(gdb) p playerCount
$5 = 50
(gdb) p players[i]
$6 = {strat = DOVE, neighbors = 0x5576e40, neighborCount = 51}
(gdb) p *players[i].neighbors@51
$7 = {0x550d258, 0x550d270, 0x550d288, 0x550d2a0, 0x550d2b8, 0x550d2e8, 0x550d210, 0x550d228, 0x550d240, 0x550d2d0, 0x550d300, 0x550d318, 0x550d330, 0x550d330,
0x550d348, 0x550d360, 0x550d378, 0x550d390, 0x550d3a8, 0x550d3c0, 0x550d3d8, 0x550d3f0, 0x550d408, 0x550d420, 0x550d438, 0x550d450, 0x550d468, 0x550d480, 0x550d498,
0x550d4b0, 0x550d4c8, 0x550d4e0, 0x550d4f8, 0x550d510, 0x550d528, 0x550d540, 0x550d558, 0x550d570, 0x550d588, 0x550d5a0, 0x550d5b8, 0x550d5d0, 0x550d5e8, 0x550d600,
0x550d618, 0x550d630, 0x550d648, 0x550d660, 0x550d678, 0x550d690, 0x550d6a8}
(gdb) p *players@playerCount
$8 = {{strat = HAWK, neighbors = 0x5567470, neighborCount = 3}, {strat = DOVE, neighbors = 0x55676e0, neighborCount = 3}, {strat = HAWK, neighbors = 0x5567990,
neighborCount = 4}, {strat = HAWK, neighbors = 0x551b910, neighborCount = 49}, {strat = HAWK, neighbors = 0x55286a0, neighborCount = 48}, {strat = DOVE,
neighbors = 0x5535ac0, neighborCount = 48}, {strat = DOVE, neighbors = 0x5542fd0, neighborCount = 48}, {strat = HAWK, neighbors = 0x5550aa0, neighborCount = 48}, {
strat = DOVE, neighbors = 0x5600f40, neighborCount = 23}, {strat = HAWK, neighbors = 0x5560ff0, neighborCount = 48}, {strat = DOVE, neighbors = 0x55b7670,
neighborCount = 32}, {strat = HAWK, neighbors = 0x56014a0, neighborCount = 12}, {strat = DOVE, neighbors = 0x5576e40, neighborCount = 51}, {strat = HAWK,
neighbors = 0x560fa90, neighborCount = 28}, {strat = HAWK, neighbors = 0x55b87d0, neighborCount = 35}, {strat = HAWK, neighbors = 0x55c6ed0, neighborCount = 31}, {
strat = HAWK, neighbors = 0x5595270, neighborCount = 45}, {strat = HAWK, neighbors = 0x565b390, neighborCount = 23}, {strat = DOVE, neighbors = 0x566edd0,
neighborCount = 20}, {strat = HAWK, neighbors = 0x55a6b10, neighborCount = 48}, {strat = DOVE, neighbors = 0x55b6780, neighborCount = 48}, {strat = DOVE,
neighbors = 0x566f640, neighborCount = 19}, {strat = DOVE, neighbors = 0x55c64f0, neighborCount = 48}, {strat = HAWK, neighbors = 0x55d30a0, neighborCount = 43}, {
strat = DOVE, neighbors = 0x55e3c30, neighborCount = 34}, {strat = DOVE, neighbors = 0x564a7d0, neighborCount = 26}, {strat = DOVE, neighbors = 0x563b880,
neighborCount = 30}, {strat = DOVE, neighbors = 0x5664e20, neighborCount = 25}, {strat = HAWK, neighbors = 0x55eeae0, neighborCount = 41}, {strat = DOVE,
neighbors = 0x55f9b20, neighborCount = 41}, {strat = HAWK, neighbors = 0x561de80, neighborCount = 35}, {strat = HAWK, neighbors = 0x560eef0, neighborCount = 48}, {
strat = HAWK, neighbors = 0x561c3d0, neighborCount = 46}, {strat = DOVE, neighbors = 0x5626860, neighborCount = 41}, {strat = HAWK, neighbors = 0x562eb30,
neighborCount = 38}, {strat = HAWK, neighbors = 0x5670010, neighborCount = 32}, {strat = DOVE, neighbors = 0x5637550, neighborCount = 40}, {strat = HAWK,
neighbors = 0x56661b0, neighborCount = 33}, {strat = DOVE, neighbors = 0x56444f0, neighborCount = 47}, {strat = HAWK, neighbors = 0x5654fa0, neighborCount = 37}, {
strat = HAWK, neighbors = 0x56743e0, neighborCount = 34}, {strat = HAWK, neighbors = 0x5652eb0, neighborCount = 47}, {strat = DOVE, neighbors = 0x565a590,
neighborCount = 43}, {strat = HAWK, neighbors = 0x5662f80, neighborCount = 47}, {strat = DOVE, neighbors = 0x566a9c0, neighborCount = 47}, {strat = DOVE,
neighbors = 0x566df00, neighborCount = 41}, {strat = HAWK, neighbors = 0x5674eb0, neighborCount = 38}, {strat = HAWK, neighbors = 0x5673370, neighborCount = 47}, {
strat = DOVE, neighbors = 0x5676030, neighborCount = 44}, {strat = HAWK, neighbors = 0x5677240, neighborCount = 45}}
Basically, you calculation of maxConnections is off by 1.