Code Work:

We have different kind of emitters. Each emitter reacts to the light of the other emitters. The "Goal Emiter" will be iluminated and when all "Goals" are actived you will
pass the level. Other emitters will react throwing light rays in different directions.
The map is a grid with tiles that are free or not. Each time we move the emitters from a tile to another we will recalculate their state (Active or not) and update the rays
from the other emitters;  