I feel like directly setting a pixel is getting boring and having to figure out some other algorithm would be more interesting. One idea I had was to replace set_pixel with something like set_pixel_channel but with a catch. The channel set is the channel with index (x + y) % 3. This would pair excellent with the swap_pixel idea as the most optimal algorithm isn't immediately obvious.
I feel like directly setting a pixel is getting boring and having to figure out some other algorithm would be more interesting. One idea I had was to replace
set_pixelwith something likeset_pixel_channelbut with a catch. The channel set is the channel with index(x + y) % 3. This would pair excellent with theswap_pixelidea as the most optimal algorithm isn't immediately obvious.