Ho una griglia rettangolare di tessere quadrate, alcune delle quali sono bloccate / riempite. Inizio con una tessera casuale all'interno della griglia con le tessere bloccate, posizionate casualmente. Posso girare a passi di 90 ° e controllare se posso entrare nella tessera davanti a me, il che è possibile se la tessera davanti a me non è una tessera bloccata o il bordo della griglia. Non riesco a distinguere entrambi i casi l'uno dall'altro, non ho nemmeno coordinate e non "conosco" la mia posizione nella griglia.
Ora ho bisogno di un algoritmo per scorrere tutti i riquadri aperti della griglia. Utilizzando algoritmi di risoluzione del labirinto (per esempio Pledge) mi fa correre lungo i muri delle tessere bloccate e dei bordi della griglia, tuttavia è possibile che ci siano tessere libere che non sono adiacenti a un muro, che non vengono colpite da questi algoritmi. / p>
Che tipo di algoritmo o logica devo usare per assicurarmi di coprire tutte le tessere vuote?
Immagine di esempio: