I am creating a math game for kids using JavaScript and created a function that will generate two numbers, first number is positive and second is negative so that students will have to sum the given two number, but i want to generate numbers that the sum will not be a negative number.
my current functions
function randomIntFromInterval(min, max) { // min and max included
return Math.floor(Math.random() * (max - min + 1) + min)
}
function generateRandomSubtractNumber() {
var base_number = randomIntFromInterval(2, 10)
var sub_number = -randomIntFromInterval(1, 5);
console.log(base_number, sub_number)
return {
"base_number" : base_number,
"sub_number" : sub_number,
"total" : base_number + sub_number
}
}
I tried to put an if statement to check if the object.total will be less than zero but not sure how to re-generate again if the statement is true.
I think you can pass base_number as param to randomIntFromInterval.
var base_number = randomIntFromInterval(2, 10)
var sub_number = -randomIntFromInterval(1, base_number);
function generateRandomSubtractNumber() {
var base_number = randomIntFromInterval(2, 10)
var sub_number = randomIntFromInterval(1, 5);
return base_number >= sub_number?
{
"base_number" : base_number,
"sub_number" : -sub_number,
"total" : base_number - sub_number
}:
{
"base_number" : sub_number,
"sub_number" : -base_number ,
"total" : sub_number - base_number
}
}
I see 2 solutions for this :