From ff9a6ee995d44a74f84cc82e4e7b4f4eb5db4736 Mon Sep 17 00:00:00 2001 From: Drotum <1abhyudayasingh@gmail.com> Date: Thu, 16 Jan 2025 22:34:07 +0530 Subject: [PATCH 1/2] Added Fibonacci Game to the repository --- FibonacciGame/Readme.md | 47 +++++ FibonacciGame/game.js | 275 +++++++++++++++++++++++++++++ FibonacciGame/index.html | 57 ++++++ FibonacciGame/sounds/correct.mp3 | Bin 0 -> 18720 bytes FibonacciGame/sounds/incorrect.mp3 | Bin 0 -> 7929 bytes FibonacciGame/sounds/levelup.mp3 | Bin 0 -> 34560 bytes FibonacciGame/style.css | 190 ++++++++++++++++++++ 7 files changed, 569 insertions(+) create mode 100644 FibonacciGame/Readme.md create mode 100644 FibonacciGame/game.js create mode 100644 FibonacciGame/index.html create mode 100644 FibonacciGame/sounds/correct.mp3 create mode 100644 FibonacciGame/sounds/incorrect.mp3 create mode 100644 FibonacciGame/sounds/levelup.mp3 create mode 100644 FibonacciGame/style.css diff --git a/FibonacciGame/Readme.md b/FibonacciGame/Readme.md new file mode 100644 index 000000000..e279323ec --- /dev/null +++ b/FibonacciGame/Readme.md @@ -0,0 +1,47 @@ +# Fibonacci Game + +Welcome to the **Fibonacci Game**, an interactive and fun way to learn about the Fibonacci sequence! This game is designed to teach players the fundamentals of the Fibonacci sequence through engaging gameplay, suitable for all ages. + +## Table of Contents +- [About the Game](#about-the-game) +- [How to Play](#how-to-play) +- [Features](#features) +- [Installation](#installation) +- [Technologies Used](#technologies-used) +- [Contributing](#contributing) +- [License](#license) + +## About the Game +The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, starting from 0 and 1. This game introduces players to the sequence through: +- Interactive puzzles +- Challenges that involve identifying or calculating Fibonacci numbers +- Levels that progressively increase in difficulty + +The goal is to make learning math concepts both fun and intuitive! + +## How to Play +1. **Start the Game**: Launch the game and choose a difficulty level to begin. +2. **Understand the Task**: Click on the Fibonacci numbers in the correct order as they appear on the screen to advance to the next level. +3. **Solve the Challenge**: Use your knowledge of the Fibonacci sequence to select the correct numbers before time runs out. +4. **Progress**: Advance to higher levels as you successfully complete each challenge. +5. **Restart Anytime**: Use the "Restart Game" button to reset and start over. + +## Features +- **Educational Gameplay**: Learn the Fibonacci sequence through practical and engaging challenges. +- **Levels and Rewards**: Progress through levels with increasing complexity. +- **User-Friendly Interface**: Simple and intuitive design for players of all ages. +- **Difficulty Settings**: Choose from Easy, Medium, or Hard difficulty levels. +- **Timer and Score Tracking**: Track your performance with a timer and score system. + +## Technologies Used +- **Frontend**: HTML, CSS, JavaScript +- **Framework**: React +- **Other Tools**: Node.js + + + +--- + +Enjoy learning and mastering the Fibonacci sequence with our game! If you have any questions or feedback, feel free to reach out. + +Happy Gaming! 🎮 diff --git a/FibonacciGame/game.js b/FibonacciGame/game.js new file mode 100644 index 000000000..f497b9de2 --- /dev/null +++ b/FibonacciGame/game.js @@ -0,0 +1,275 @@ +// Memoization for Fibonacci calculation +const fibCache = {}; +function fibonacci(n) { + if (n <= 1) return n; + if (fibCache[n]) return fibCache[n]; + fibCache[n] = fibonacci(n - 1) + fibonacci(n - 2); + return fibCache[n]; +} + +let level = 1; +let currentSequence = []; +let clickedNumbers = []; +let correctFibIndex = 0; +let gameActive = true; +let timerInterval; +let timeLeft = 60; // Default time in seconds +let gamePaused = false; +const numbers = []; +let startFromIndex = 5; // Will be randomized per level + +// Difficulty settings +const difficultySettings = { + easy: { distractors: 5, time: 90 }, + medium: { distractors: 10, time: 60 }, + hard: { distractors: 20, time: 30 } +}; + +// HTML Elements +const gameBoard = document.getElementById('gameBoard'); +const levelDisplay = document.getElementById('levelDisplay'); +const messageDisplay = document.getElementById('message'); +const correctSequenceDisplay = document.getElementById('correctSequence'); +const timerDisplay = document.getElementById('timerDisplay'); +const pauseButton = document.getElementById('pauseButton'); +const difficultySelect = document.getElementById('difficulty'); +const leaderboardList = document.getElementById('leaderboardList'); +const restartButton = document.getElementById('restartButton'); + +// Sound Elements +const correctSound = document.getElementById('correctSound'); +const incorrectSound = document.getElementById('incorrectSound'); +const levelUpSound = document.getElementById('levelUpSound'); + +// Leaderboard +let leaderboard = JSON.parse(localStorage.getItem('fibLeaderboard')) || []; + +// Function to update the leaderboard display +function updateLeaderboard() { + leaderboardList.innerHTML = ''; + leaderboard.forEach(entry => { + const li = document.createElement('li'); + li.textContent = `Level ${entry.level} - Time: ${entry.time}s`; + leaderboardList.appendChild(li); + }); +} + +// Function to add a new score to the leaderboard +function addToLeaderboard(levelAchieved, timeTaken) { + leaderboard.push({ level: levelAchieved, time: timeTaken }); + leaderboard.sort((a, b) => { + if (b.level === a.level) return a.time - b.time; + return b.level - a.level; + }); + leaderboard = leaderboard.slice(0, 10); + localStorage.setItem('fibLeaderboard', JSON.stringify(leaderboard)); + updateLeaderboard(); +} + +// Function to generate a Fibonacci sequence for the level, starting from a specified number +function generateFibonacciSequence(level, startFromIndex) { + const sequence = []; + for (let i = startFromIndex; i < startFromIndex + level + 5; i++) { + sequence.push(fibonacci(i)); + } + return sequence; +} + +// Function to generate non-Fibonacci numbers close to the Fibonacci sequence +function generateNonFibonacciNumbers(count, fibNumbers) { + const nonFib = []; + while (nonFib.length < count) { + const randomFib = fibNumbers[Math.floor(Math.random() * fibNumbers.length)]; + const offset = Math.floor(Math.random() * 10) - 5; // Random offset close to Fibonacci numbers + const candidate = randomFib + offset; + if (!fibNumbers.includes(candidate) && candidate > 0 && !nonFib.includes(candidate)) { + nonFib.push(candidate); + } + } + return nonFib; +} + +// Function to create number elements (static and non-overlapping) +function createNumberElement(number, isFib = true, usedPositions) { + const numberElement = document.createElement('div'); + numberElement.classList.add('number'); + numberElement.textContent = number; + + const size = isFib ? (50 + Math.random() * 50) : (30 + Math.random() * 30); + numberElement.style.width = `${size}px`; + numberElement.style.height = numberElement.style.width; + + let validPosition = false; + let x, y; + + // Find a position that doesn't overlap with others + while (!validPosition) { + x = Math.random() * 80; // 80% width of the game board + y = Math.random() * 80; // 80% height of the game board + validPosition = !usedPositions.some(pos => { + const dx = pos.x - x; + const dy = pos.y - y; + return Math.sqrt(dx * dx + dy * dy) < 10; // Minimum distance of 10% to avoid overlap + }); + } + + numberElement.style.position = 'absolute'; + numberElement.style.left = `${x}%`; + numberElement.style.top = `${y}%`; + usedPositions.push({ x, y }); // Save the position + + return numberElement; +} + +// Function to display Fibonacci and distractor numbers +function displayNumbers() { + const fibNumbers = currentSequence; + const difficulty = difficultySelect.value; + const distractors = generateNonFibonacciNumbers(difficultySettings[difficulty].distractors, fibNumbers); + const usedPositions = []; + + // Clear any existing numbers + gameBoard.innerHTML = ''; + + // Generate Fibonacci numbers + fibNumbers.forEach((number) => { + const element = createNumberElement(number, true, usedPositions); + element.addEventListener('click', () => handleNumberClick(number, element)); + gameBoard.appendChild(element); + }); + + // Generate distractor numbers + distractors.forEach((number) => { + const element = createNumberElement(number, false, usedPositions); + gameBoard.appendChild(element); + }); +} + +// Handle click on numbers +function handleNumberClick(number, element) { + if (!gameActive) return; + + if (number === currentSequence[correctFibIndex]) { + clickedNumbers.push(number); + correctFibIndex++; + correctSound.currentTime = 0; + correctSound.play(); + correctSequenceDisplay.textContent = `Correct Sequence: ${clickedNumbers.join(', ')}`; + gameBoard.removeChild(element); + + if (clickedNumbers.length === currentSequence.length) { + gameActive = false; + clearInterval(timerInterval); + levelUpSound.play(); + setTimeout(() => nextLevel(), 1000); + } + } else { + incorrectSound.currentTime = 0; + incorrectSound.play(); + messageDisplay.textContent = "Incorrect, try again!"; + } +} + +// Move to the next level +function nextLevel() { + addToLeaderboard(level, timeLeft); + level++; + levelDisplay.textContent = `Level: ${level}`; + clickedNumbers = []; + correctFibIndex = 0; + const difficulty = difficultySelect.value; + timeLeft = difficultySettings[difficulty].time; + + // Randomize starting Fibonacci numbers for the sequence + startFromIndex = Math.floor(Math.random() * 10) + 3; // Randomize between index 3 and 12 + currentSequence = generateFibonacciSequence(level, startFromIndex); + + gameActive = true; + correctSequenceDisplay.textContent = `Correct Sequence: ${currentSequence[0]}, ${currentSequence[1]}`; + displayNumbers(); + resetTimer(); +} + +// Timer functions +function startTimer() { + timerDisplay.textContent = `Time: ${timeLeft}s`; + timerInterval = setInterval(() => { + if (!gameActive || gamePaused) return; + timeLeft--; + timerDisplay.textContent = `Time: ${timeLeft}s`; + if (timeLeft <= 0) { + clearInterval(timerInterval); + endGame(); + } + }, 1000); +} + +function resetTimer() { + clearInterval(timerInterval); + startTimer(); +} + +// Handle Pause/Resume Button +pauseButton.addEventListener('click', () => { + if (!gameActive) return; + if (gamePaused) { + gamePaused = false; + pauseButton.textContent = "Pause"; + resetTimer(); + } else { + gamePaused = true; + pauseButton.textContent = "Resume"; + clearInterval(timerInterval); + } +}); + +// Handle Difficulty Change +difficultySelect.addEventListener('change', () => { + const difficulty = difficultySelect.value; + timeLeft = difficultySettings[difficulty].time; + if (gameActive && !gamePaused) { + resetTimer(); + } +}); + +// Handle game end +function endGame() { + gameActive = false; + messageDisplay.textContent = "Time's up! Game Over."; + restartButton.style.display = "block"; // Show the restart button +} + +// Handle restart button click +restartButton.addEventListener('click', () => { + restartButton.style.display = "none"; + startGame(true); + updateLeaderboard(); +}); + +// Start the game +function startGame(isRestart = false) { + // Reset level and other state variables + level = 1; + const difficulty = difficultySelect.value; + timeLeft = difficultySettings[difficulty].time; + clickedNumbers = []; + correctFibIndex = 0; + gameActive = true; + + // Randomize the Fibonacci sequence's start index and generate a new sequence + startFromIndex = Math.floor(Math.random() * 10) + 3; // Randomize starting point + currentSequence = generateFibonacciSequence(level, startFromIndex); + + correctSequenceDisplay.textContent = `Correct Sequence: ${currentSequence[0]}, ${currentSequence[1]}`; + displayNumbers(); + + if (isRestart) { + resetTimer(); + } + + if (!isRestart) { + addToLeaderboard(level, timeLeft); + } +} + +startGame(); diff --git a/FibonacciGame/index.html b/FibonacciGame/index.html new file mode 100644 index 000000000..6af7fc1c4 --- /dev/null +++ b/FibonacciGame/index.html @@ -0,0 +1,57 @@ + + + + + + Fibonacci Click Challenge + + + + +
+

Fibonacci Click Challenge

+

Click the Fibonacci numbers in the correct order to advance to the next stage!

+ +
+
Level: 1
+
Time: 60s
+ +
+ + +
+
+ +
+ +
+ +
+ +
Correct Sequence:
+ + + + +
+

Leaderboard

+
    + +
+
+
+ + + + + + + + + diff --git a/FibonacciGame/sounds/correct.mp3 b/FibonacciGame/sounds/correct.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5c82f39bd84f9b28cddf12f573982ee63a2ac1a5 GIT binary patch literal 18720 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 UY&E(3|Nj@v_0O<%&?AEe0Ah_dy8r+H literal 0 HcmV?d00001 diff --git a/FibonacciGame/sounds/incorrect.mp3 b/FibonacciGame/sounds/incorrect.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..5ece8fd768d1d56ff27fa43b0af811ad1febea54 GIT binary patch literal 7929 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 M>^~U0|8E}rAA Date: Thu, 16 Jan 2025 22:37:41 +0530 Subject: [PATCH 2/2] Added files under name directory --- FibonacciGame/{ => Drotum}/Readme.md | 0 FibonacciGame/{ => Drotum}/game.js | 0 FibonacciGame/{ => Drotum}/index.html | 0 FibonacciGame/{ => Drotum}/sounds/correct.mp3 | Bin FibonacciGame/{ => Drotum}/sounds/incorrect.mp3 | Bin FibonacciGame/{ => Drotum}/sounds/levelup.mp3 | Bin FibonacciGame/{ => Drotum}/style.css | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename FibonacciGame/{ => Drotum}/Readme.md (100%) rename FibonacciGame/{ => Drotum}/game.js (100%) rename FibonacciGame/{ => Drotum}/index.html (100%) rename FibonacciGame/{ => Drotum}/sounds/correct.mp3 (100%) rename FibonacciGame/{ => Drotum}/sounds/incorrect.mp3 (100%) rename FibonacciGame/{ => Drotum}/sounds/levelup.mp3 (100%) rename FibonacciGame/{ => Drotum}/style.css (100%) diff --git a/FibonacciGame/Readme.md b/FibonacciGame/Drotum/Readme.md similarity index 100% rename from FibonacciGame/Readme.md rename to FibonacciGame/Drotum/Readme.md diff --git a/FibonacciGame/game.js b/FibonacciGame/Drotum/game.js similarity index 100% rename from FibonacciGame/game.js rename to FibonacciGame/Drotum/game.js diff --git a/FibonacciGame/index.html b/FibonacciGame/Drotum/index.html similarity index 100% rename from FibonacciGame/index.html rename to FibonacciGame/Drotum/index.html diff --git a/FibonacciGame/sounds/correct.mp3 b/FibonacciGame/Drotum/sounds/correct.mp3 similarity index 100% rename from FibonacciGame/sounds/correct.mp3 rename to FibonacciGame/Drotum/sounds/correct.mp3 diff --git a/FibonacciGame/sounds/incorrect.mp3 b/FibonacciGame/Drotum/sounds/incorrect.mp3 similarity index 100% rename from FibonacciGame/sounds/incorrect.mp3 rename to FibonacciGame/Drotum/sounds/incorrect.mp3 diff --git a/FibonacciGame/sounds/levelup.mp3 b/FibonacciGame/Drotum/sounds/levelup.mp3 similarity index 100% rename from FibonacciGame/sounds/levelup.mp3 rename to FibonacciGame/Drotum/sounds/levelup.mp3 diff --git a/FibonacciGame/style.css b/FibonacciGame/Drotum/style.css similarity index 100% rename from FibonacciGame/style.css rename to FibonacciGame/Drotum/style.css