Estoy creando un juego de matemáticas para niños usando JavaScript y creé una función que generará dos números, el primer número es positivo y el segundo es negativo para que los estudiantes tengan que sumar los dos números dados, pero quiero generar números que la suma sea no sea un número negativo.
mis funciones actuales
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 } }
Traté de poner una declaración if para verificar si el objeto.total será menor que cero, pero no estoy seguro de cómo volver a generar si la declaración es verdadera.
Creo que puedes pasar base_number como parámetro a 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 } }
Veo 2 soluciones para esto: