Hi,
Because of the line if (rWidth != this.width / 2 && rHeight != this.height / 2) in the WormGame constructor your apple can never spawn in the row or the same column in which the worm starts. So if you have a board with both X and Y coordinates ranging from 0 to 5 and, then you will never have an apple spawn at coordinates of form [3, Y] or [X, 3]. This is incorrect since only [3,3] is forbidden in this example case.
To fix this, you need to change the above conditional so that it only prevents the exact coordinates of the worms start place and not the whole column and row.
-Leo