Sensors. They’re a little more complicated than I initially thought.
Three high-level states:
- No laser is hitting it
- A laser of the wrong colour is hitting it
- A laser of the correct colour is hitting it and no laser of the wrong colour is hitting it
I also need to display the target colour, the colour the sensor is receiving, and a progress animation used to communicate to the player that they’re on the right track.
Also, things depend on whether the mouse button is pressed / released.
How do I want this to behave?
No laser is hitting:
- Display normal grey colour, reverse the progress animation
Wrong colour is hitting:
- Mouse down (dragged): display blacked out / powered down, reverse the progress animation
- Mouse up (released): blink the target colour in error, buzz error sound
Correct colour is hitting and not wrong colour:
- Mouse down (dragged): display the received colour
- Mouse up (released): play the progress animation
Yeah, they’re still pretty ugly but I think now they actually communicate what’s needed and what’s going on.
Maybe a little better now?