Home > Net >  Randomly generate = or -= javascript
Randomly generate = or -= javascript

Time:02-21

Hi i am trying to assign either = or -= to an object position. Firstly I have random math choosing a number:

var min = 9;
 var max = 11;
 var pos = Math.floor(Math.random() * (max - min   1))   min;

I am trying to add the out come of pos to this._target.position.z and this._target.position.x but I want it to be randomly either added or subtracted

so the random out come should be for the Z position should be either:

this._target.position.z  = pos;

or

this._target.position.z -= pos;

and then for the X position should be either:

this._target.position.x  = pos;

or

this._target.position.x -= pos;

thanks in advance.

CodePudding user response:

If you want to randomly do x = value or x -= value you can simply use the first version, and then multiply your value by -1 if you want to do a -=.

In other words:

const isNegative = // however you determine this, eg. Math.random
const newValue  = (isNegative ? -1 : 1) * value;

Or, to apply it back to your case, using @Chris G's suggestion in the comments:

 const oneOrNegativeOne = (Math.floor(Math.random() * 2) * 2 - 1);
 this._target.position.x  = oneOrNegativeOne * pos;

CodePudding user response:

You can use a condition based on a random event like this :

if (Math.floor(Math.random() * 2)) {
    //the condition return 0 or 1 for false or true
    this._target.position.z  = pos;
} else {
    this._target.position.z -= pos;
}

and either for this._target.position.x

  • Related