Example:
You have an empty cell at (row, col) that is hidden by a firing beam. Then, when the beam is fired hidden cells will contain: (row, col, ' '). Now, an apple tries to spawn there. Now hidden cells will contain [(row, col, ' ') and (row, col, 'A')]. This needs to be handled or else it can cause bugs.
As an example of a bug, if the order of the two hidden_cells is reversed, first an apple will be placed, and then it will be cleared.
This doesn't actually cause an error because the conflict will always have 'A' after ' ' and so an A will be placed there anyways BUT it's bad to have it sitting there.
Example: You have an empty cell at (row, col) that is hidden by a firing beam. Then, when the beam is fired hidden cells will contain: (row, col, ' '). Now, an apple tries to spawn there. Now hidden cells will contain [(row, col, ' ') and (row, col, 'A')]. This needs to be handled or else it can cause bugs.
As an example of a bug, if the order of the two hidden_cells is reversed, first an apple will be placed, and then it will be cleared.