ffonavia commited on
Commit
ff539e3
·
verified ·
1 Parent(s): 46d296d

Add 2 files

Browse files
Files changed (2) hide show
  1. index.html +31 -1
  2. 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
- const solution = randomInt(min, max);
 
 
 
 
 
 
 
 
 
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
+ сделай возможность выбора, чтобы решения были любые или только положительные