let result = 0;
const operators = ['+', '-'];
let question = '';
let lastOperator = '+'; // 初始操作符为加号
let lastNumber = null; // 初始化上一个数字为null
let buttonsDisabled = true; // 按钮初始状态为不可点击
for (let i = 0; i < bishu; i++) {//几笔
let number, operator;
let validNumber = false;
// 循环直到找到一个合适的数字
do {
if(type==1)//1-4直加直减
{
number = Math.floor(Math.random() * 4) + 1; // 1-4的随机数
operator = operators[Math.floor(Math.random() * 2)];
// 检查当前操作符和数字是否会导致结果超出范围
if (operator === '+') {
validNumber = result + number <= 4;
}
else
{
validNumber = result - number >= 0;
}
}
} while (!validNumber);
lastOperator = operator; // 更新上一个操作符
lastNumber = number; // 更新上一个数字
setTimeout(() => {
if(i === 0)
{
displayQuestion(number,'','');
}
}, (i + 1) * shijian*1000);//间隔时间*1000
result += operator === '+' ? number : -number;
question += (i > 0 ? ' ' : '') + operator + number;
}
questions.push({ question: question, answer: result });
从第二个数字开始,operators = ['+', '-'];符号轮流使用,比如:5+6-3+8-10+9-5...或8-3+8-4+9-8+6...