From e20e45b61a5c8bedc2412162f33774c57f759988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=9Eahin=20Akkaya?= Date: Tue, 9 Sep 2025 13:03:21 +0300 Subject: [PATCH] Do some improvements --- index.html | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index cef91f3..81a0437 100644 --- a/index.html +++ b/index.html @@ -203,6 +203,12 @@

I'll show you 7 groups of numbers. For each group, tell me if your number is included.

After all 7 groups, I'll magically tell you your number! 🎩✨

+
+ +
@@ -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;