Desmos is a graphing calculator where you can input math equations and it'll plot it. The normal way to use it would be to throw in an equation like y = 2x2 + 2 and boom you have a parabola. Even though it might seem simple on the surface, it is hiding an incredible programming language and rendering engine that you can use to build pretty much anything you'd like.
Want to draw a box and a circle? {−5 < x < 5}{−5 < y < 5} > 0 x2 + y2 < 25
Here, conditional at the top level means region and conditional enclosed in curly braves like {−5 < x < 5 > 0} are expressions that can either return 1 if true or undefined if false. 2 of these expressions next to each other is the product of both.
Want to conditionally draw either a box or a circle and toggle between them on the click of a button? (on desmos) {Viscircle = 1 : −x2 − y2 + 25, {−5 < x < 5 > 0}{−5 < y < 5}} > 0 Viscircle = 0 Viscircle → {Viscircle = 0 : 1, 0}
Here, if you click the arrow button to the left of the last equation, it will update/toggle Viscircle. An expression like {x > 0 : 42, 7} is a conditional expression but instead of 1/undefined, it will return 42 when true and 7 when false (i.e. if expression). Also, Viscircle → {Viscircle = 0 : 1, 0} means when the action is triggered (button is clicked or via timer), it will update the value which in this case would toggle between 0 and 1.
The action can also be connected to any object drawn on screen by clicking the cog in the sidebar, clicking on the icon to the left of the equation for the object and then enabling "Clickable".
You could also have that action be triggered every second (or whatever interval) using the ticker feature in desmos (+ button in the sidebar > Ticker).
This post doesn't even begin to cover the incredible features desmos provides but I think the fun is in exploring so if you find desmos interesting, it's better to discover those yourself.
Here's a snake game implemented in desmos. Press "Play/Pause" to start.
I maintain my collection of desmos experiments here.