Delay without Delay()?

Another fun one to really mess with people:

#define true false

In my example code I create the defines:

#define STATE_LED_OFF 0
#define STATE_LED_SWITCH_ON 1
#define STATE_LED_ON 2
#define STATE_LED_SWITCH_OFF 3

So whenever you use STATE_LED_OFF, the preprocessor replaces it with 0 as that is what is specified in the #define. For STATE_LED_SWITCH_ON it replaces it with 1 etc.

The syntax is:

#define A B

and it equates to:

When you see A, replace it with B