To view this content, you need to install Java from java.com

Click a square to flip its state.
When, after flipping, a square is in the same state as the square above it, the square touching its upper-right corner will change state as well.
When, after flipping, a square is in the same state as the square below it, the square touching its lower-left corner will change state as well.
To reset the squares to their initial state, press 'r'
To reset the squares to the opposite of their initial state, press 'R'

Built with Processing