function generateQuestion(numbers) {
let result = 0;
const operators = ['+', '-'];
let question = '';
let lastOperator = '+'; // 初始操作符为加号
let lastNumber = null; // 初始化上一个数字为null
let buttonsDisabled = true; // 按钮初始状态为不可点击
if(type<1000)//加减法
{
for (let i = 0; i < 2; i++)
{
let number, operator;
let validNumber = false;
let result_onesDigit=onesDigit(result);
let result_tensDigit = tensDigit(result);
let result_hundredDigit = hundredDigit(result);
// 循环直到找到一个合适的数字
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(() =>
{
displayQuestion(number,'','');
}, (i + 1) * shijian*1000);
result += operator === '+' ? number : -number;
question += (i > 0 ? ' ' : '') + operator + number;
}
}
else//乘除法
{
let number1, operator, number2;
let validNumber = false;
if(type==1000)//2的乘法
{
number1 = Math.floor(Math.random() * 90) + 10; // 两位数
number2 = 2;
operator = '*';
result = number1 * number2;
}
lastOperator = operator; // 更新上一个操作符
question = `${number1} ${operator} ${number2}`; // 同时显示操作符和数字
setTimeout(() => {
document.getElementById('question').textContent = number1+'×'+number2;
}, shijian*1000);
}
// 用于存储问题
questions.push({ question: question, answer: result });
}
questions.push({ question: question, answer: result })加减法的可以正常存储并传到结果页面去,但是乘除法的传到结果页上去以后,number1只显示了个位数,十位上的数没有显示