Do some improvements
This commit is contained in:
30
index.html
30
index.html
@ -203,6 +203,12 @@
|
||||
<p>I'll show you 7 groups of numbers. For each group, tell me if your number is included.</p>
|
||||
<p>After all 7 groups, I'll magically tell you your number! 🎩✨</p>
|
||||
</div>
|
||||
<div style="margin: 20px 0;">
|
||||
<label style="display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 1.1em; color: #555;">
|
||||
<input type="checkbox" id="randomizeToggle" style="transform: scale(1.2);">
|
||||
Randomize numbers within groups
|
||||
</label>
|
||||
</div>
|
||||
<button class="btn btn-primary" onclick="startGame()">Start Game</button>
|
||||
</div>
|
||||
|
||||
@ -228,7 +234,7 @@
|
||||
let currentGroup = 0;
|
||||
let groups = [];
|
||||
|
||||
function generateNumberGroups(maxNumber = 100) {
|
||||
function generateNumberGroups(maxNumber = 100, shouldRandomize = false) {
|
||||
const generatedGroups = [];
|
||||
let bitPosition = 0;
|
||||
|
||||
@ -249,11 +255,31 @@
|
||||
[generatedGroups[i], generatedGroups[j]] = [generatedGroups[j], generatedGroups[i]];
|
||||
}
|
||||
|
||||
if (shouldRandomize) {
|
||||
// Shuffle numbers within each group but keep first number in place
|
||||
generatedGroups.forEach(group => {
|
||||
if (group.length > 1) {
|
||||
const firstNumber = group[0];
|
||||
const remainingNumbers = group.slice(1);
|
||||
|
||||
// Shuffle the remaining numbers
|
||||
for (let i = remainingNumbers.length - 1; i > 0; i--) {
|
||||
const j = Math.floor(Math.random() * (i + 1));
|
||||
[remainingNumbers[i], remainingNumbers[j]] = [remainingNumbers[j], remainingNumbers[i]];
|
||||
}
|
||||
|
||||
// Reconstruct the group with first number in place
|
||||
group.splice(1, group.length - 1, ...remainingNumbers);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return generatedGroups;
|
||||
}
|
||||
|
||||
function startGame() {
|
||||
groups = generateNumberGroups(100);
|
||||
const shouldRandomize = document.getElementById('randomizeToggle').checked;
|
||||
groups = generateNumberGroups(100, shouldRandomize);
|
||||
currentGroup = 0;
|
||||
result = 0;
|
||||
|
||||
|
Reference in New Issue
Block a user