Spaces:
Running
Running
Add 2 files
Browse files- index.html +31 -1
- prompts.txt +2 -1
index.html
CHANGED
@@ -71,6 +71,20 @@
|
|
71 |
<input type="number" id="maxNum" value="10" class="w-20 px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500">
|
72 |
</div>
|
73 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
</div>
|
75 |
|
76 |
<button id="generateBtn" class="mt-6 w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-2 px-4 rounded-md transition duration-150 ease-in-out transform hover:scale-105">
|
@@ -141,6 +155,7 @@
|
|
141 |
const maxNum = document.getElementById('maxNum');
|
142 |
const showStepsBtn = document.getElementById('showStepsBtn');
|
143 |
const solutionSteps = document.getElementById('solutionSteps');
|
|
|
144 |
|
145 |
// Current equation data
|
146 |
let currentEquation = null;
|
@@ -161,15 +176,30 @@
|
|
161 |
return num;
|
162 |
}
|
163 |
|
|
|
|
|
|
|
|
|
|
|
164 |
// Generate a linear equation with integer solution
|
165 |
function generateEquation() {
|
166 |
const varSymbol = variable.value || 'x';
|
167 |
const min = parseInt(minNum.value) || -10;
|
168 |
const max = parseInt(maxNum.value) || 10;
|
169 |
const diff = difficulty.value;
|
|
|
170 |
|
171 |
// First generate a random integer solution
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
let equation = '';
|
175 |
let steps = [];
|
|
|
71 |
<input type="number" id="maxNum" value="10" class="w-20 px-3 py-2 border border-gray-300 rounded-md shadow-sm focus:outline-none focus:ring-indigo-500 focus:border-indigo-500">
|
72 |
</div>
|
73 |
</div>
|
74 |
+
|
75 |
+
<div>
|
76 |
+
<label class="block text-sm font-medium text-gray-700 mb-1">Solution Type</label>
|
77 |
+
<div class="flex space-x-4">
|
78 |
+
<label class="inline-flex items-center">
|
79 |
+
<input type="radio" name="solutionType" value="any" checked class="h-4 w-4 text-indigo-600 focus:ring-indigo-500">
|
80 |
+
<span class="ml-2 text-gray-700">Any integers</span>
|
81 |
+
</label>
|
82 |
+
<label class="inline-flex items-center">
|
83 |
+
<input type="radio" name="solutionType" value="positive" class="h-4 w-4 text-indigo-600 focus:ring-indigo-500">
|
84 |
+
<span class="ml-2 text-gray-700">Only positive</span>
|
85 |
+
</label>
|
86 |
+
</div>
|
87 |
+
</div>
|
88 |
</div>
|
89 |
|
90 |
<button id="generateBtn" class="mt-6 w-full bg-indigo-600 hover:bg-indigo-700 text-white font-medium py-2 px-4 rounded-md transition duration-150 ease-in-out transform hover:scale-105">
|
|
|
155 |
const maxNum = document.getElementById('maxNum');
|
156 |
const showStepsBtn = document.getElementById('showStepsBtn');
|
157 |
const solutionSteps = document.getElementById('solutionSteps');
|
158 |
+
const solutionTypeRadios = document.getElementsByName('solutionType');
|
159 |
|
160 |
// Current equation data
|
161 |
let currentEquation = null;
|
|
|
176 |
return num;
|
177 |
}
|
178 |
|
179 |
+
// Get selected solution type
|
180 |
+
function getSolutionType() {
|
181 |
+
return document.querySelector('input[name="solutionType"]:checked').value;
|
182 |
+
}
|
183 |
+
|
184 |
// Generate a linear equation with integer solution
|
185 |
function generateEquation() {
|
186 |
const varSymbol = variable.value || 'x';
|
187 |
const min = parseInt(minNum.value) || -10;
|
188 |
const max = parseInt(maxNum.value) || 10;
|
189 |
const diff = difficulty.value;
|
190 |
+
const solutionType = getSolutionType();
|
191 |
|
192 |
// First generate a random integer solution
|
193 |
+
let solution;
|
194 |
+
if (solutionType === 'positive') {
|
195 |
+
// For positive solutions, we need to adjust the range
|
196 |
+
const positiveMin = Math.max(1, min);
|
197 |
+
const positiveMax = Math.max(1, max);
|
198 |
+
solution = randomInt(positiveMin, positiveMax);
|
199 |
+
} else {
|
200 |
+
// For any integer solutions
|
201 |
+
solution = randomInt(min, max);
|
202 |
+
}
|
203 |
|
204 |
let equation = '';
|
205 |
let steps = [];
|
prompts.txt
CHANGED
@@ -2,4 +2,5 @@
|
|
2 |
когда начинаешь ввод, появляется подсказка, и ввод невозможен, исправь это
|
3 |
генератор примеров линейных уравнений
|
4 |
добавь примеры с раскрытием скобок. корни всех примеров должны быть целыми числами
|
5 |
-
все ответы во всех уравнениях должны быть целыми числами,
|
|
|
|
2 |
когда начинаешь ввод, появляется подсказка, и ввод невозможен, исправь это
|
3 |
генератор примеров линейных уравнений
|
4 |
добавь примеры с раскрытием скобок. корни всех примеров должны быть целыми числами
|
5 |
+
все ответы во всех уравнениях должны быть целыми числами,
|
6 |
+
сделай возможность выбора, чтобы решения были любые или только положительные
|