For this week’s assignment, I decided to create a self-avoiding walk within an RGB space.
Whenever a dot tries to walk to a spot that has already been visited before, it stops the program. This can be restarted on click.
In the draw function, I made the RGB space using map() and assigning each dot to a random RGB value.
I tried to simplify the code as much as possible. In the snippet below, it checks if a spot in the grid has been visited before, if not, it pushes a new dot.
for (let option of allOptions) { let newX = x + option.dx; let newY = y + option.dy; if (newX >= 0 && newX < cols && newY >= 0 && newY < rows && !grid[newX][newY]) { options.push(option); } }