There’s a few common problems I come across in game programming that are solvable with a set of if statements. Things like looping values or determining if a number is positive or negative. I was always a little uncomfortable taking out multiple lines in a program to do something that felt so simple; why shouldn’t I be able to do it inline where I need the result of the calculation? Here are my solutions in pseudo-actionscript:

The latter problem, getting the sign of a number, is easily solvable by dividing it by an absolute value’d version of it’s self:

sign = mynumber / Math.abs(mynumber);

I also had the inverse of this problem, generating a signed coefficient on the fly. Again, easy enough with some if thens and a random number, but why not do it all in one line without any flow control?

sign = 1 - math.round(math.random()*2);

Lastly, the problem of looping values. You want to step some number up by an incrementor each frame, and if it’s above a certain value, loop it back down preserving the remainder. Easily done with our friend the Modulo ( % ) operator:

myCounter = ( myCounter + increment ) % maxValue;

### Like this:

Like Loading...

*Related*