; waffles:=!waffles .... This assigns waffles to the value of NOT waffles. so lets say waffles starts out TRUE (1). you then turn waffles to NOT TRUE. which is FALSE (0). so now waffles is set to FALSE. and then lets say you toggle it again. you set waffles to NOT FALSE, which is TRUE. waffles is now set to TRUE. .... 1 is true, 0 is false. ! is NOT.