(set: $x=(either: ...(range:-1,1)))
(set: $y=(either: ...(range:-1,1)))
<!--store values as page elements?-->
<!--if the page is going to be our state, then there's no reason why we should have to store apart from page contents.
insomuch as we are storing data and using states, we should work with what we already have: this is less to mentally keep track of, and feels more intuitive. Additionally, we wouldn't have to deal with this timeout function.-->
(live: 50)[The wind is coming from the (if: $y > 0)[south](else-if: $y < 0)[north](if: $x > 0)[west](else-if: $x < 0)[east](else-if: $y is 0)[source].]
(link-repeat: "Go West")[(set: $x=$x-1)]
(link-repeat: "Go North")[(set: $y=$y+1)]
(link-repeat: "Go East")[(set: $x=$x+1)]
(link-repeat: "Go South")[(set: $y=$y-1)]
<!--if this could just update the page onclick, then (live:) will be unnecessary -->