From 7579e0a6faa72fa10303f3aebc8ebeaacaa894c8 Mon Sep 17 00:00:00 2001 From: Kanavpreet-Singh Date: Fri, 17 Oct 2025 21:48:40 +0530 Subject: [PATCH 1/3] added simonsaysGAME --- assets/simon-says-preview.png | Bin 0 -> 15649 bytes en/beginner-projects/simon-says.md | 39 +++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 assets/simon-says-preview.png create mode 100644 en/beginner-projects/simon-says.md diff --git a/assets/simon-says-preview.png b/assets/simon-says-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..cbe9146a5b6f172605aa283d0872679c014a906a GIT binary patch literal 15649 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 + + From a49b4088df147ab148a7ff67a304a095c01f62e1 Mon Sep 17 00:00:00 2001 From: Kanavpreet-Singh Date: Fri, 17 Oct 2025 21:53:14 +0530 Subject: [PATCH 2/3] checked preview image --- en/beginner-projects/simon-says.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/en/beginner-projects/simon-says.md b/en/beginner-projects/simon-says.md index 5ba73dae..b0a55cf6 100644 --- a/en/beginner-projects/simon-says.md +++ b/en/beginner-projects/simon-says.md @@ -1,6 +1,6 @@ # 🎮 Simon Says Game -![Simon Says Preview](../../assets/simon-says-preview.PNG) +![Simon Says Preview](../../assets/simon-says-preview.png) ## Description From 31740a8181447c068da7e1c6925dc17556968fc5 Mon Sep 17 00:00:00 2001 From: Kanavpreet-Singh Date: Sat, 18 Oct 2025 08:01:05 +0530 Subject: [PATCH 3/3] added source code in examples folder --- examples/Simon-Says/README.md | 36 +++++++++++++++++ examples/Simon-Says/index.html | 22 +++++++++++ examples/Simon-Says/index.mjs | 71 ++++++++++++++++++++++++++++++++++ examples/Simon-Says/styles.css | 50 ++++++++++++++++++++++++ 4 files changed, 179 insertions(+) create mode 100644 examples/Simon-Says/README.md create mode 100644 examples/Simon-Says/index.html create mode 100644 examples/Simon-Says/index.mjs create mode 100644 examples/Simon-Says/styles.css diff --git a/examples/Simon-Says/README.md b/examples/Simon-Says/README.md new file mode 100644 index 00000000..04f7e109 --- /dev/null +++ b/examples/Simon-Says/README.md @@ -0,0 +1,36 @@ +# Simon Says — Memory Game 🎮 + +This is a fun and interactive **Simon Says** memory game built using **HTML, CSS, and modern JavaScript (ES Modules)**. +Players must observe and repeat an increasingly long sequence of colors — testing their memory and focus! + +## Features + +- 🎨 **Colorful animated buttons** for each level. +- 🧠 **Progressive difficulty** — sequence length increases with each correct round. +- ❌ **Game over feedback** with flashing animations. +- 🔁 **Restart option** to play again after losing. +- ⚡ Built using **plain HTML, CSS, and JS (no libraries or frameworks)**. + +## Files + +- `index.html` — main markup and game layout +- `styles.css` — visual design, colors, and animations +- `index.mjs` — core game logic using ES modules (sequence generation, user input, and level progression) + +## How to Play + +1. Open `index.html` in your browser (Chrome, Edge, or Firefox recommended). +2. Press 'Start Game' button to start the game. +3. Watch the color sequence shown by the game. +4. Repeat the sequence by clicking the color buttons in the same order. +5. Each level adds one more color to the sequence — try to remember them all! +6. If you click the wrong color, the game ends — press any key to restart. + +## Notes + +- The game uses **JavaScript timing functions** to display sequences with smooth delays. +- Fully responsive — works well on both **desktop and mobile** browsers. + +--- + +✨ **Enjoy testing your memory skills with Simon Says!** diff --git a/examples/Simon-Says/index.html b/examples/Simon-Says/index.html new file mode 100644 index 00000000..eeb059c6 --- /dev/null +++ b/examples/Simon-Says/index.html @@ -0,0 +1,22 @@ + + + + + + Simon Says Game + + + +

Simon Says Game

+
+
+
+
+
+
+ +

+ + + + diff --git a/examples/Simon-Says/index.mjs b/examples/Simon-Says/index.mjs new file mode 100644 index 00000000..61630d39 --- /dev/null +++ b/examples/Simon-Says/index.mjs @@ -0,0 +1,71 @@ +const buttons = Array.from(document.querySelectorAll(".color-button")); +const startBtn = document.getElementById("start-btn"); +const message = document.getElementById("message"); + +let sequence = []; +let playerSequence = []; +let level = 0; +let acceptingInput = false; + +// Flash a button visually +function flashButton(button) { + return new Promise((resolve) => { + button.classList.add("active"); + setTimeout(() => { + button.classList.remove("active"); + setTimeout(resolve, 200); + }, 500); + }); +} + +// Start next round: add new button and flash only it +async function nextRound() { + acceptingInput = false; + const newButton = buttons[Math.floor(Math.random() * buttons.length)]; + sequence.push(newButton); + await flashButton(newButton); // flash only the new button + playerSequence = []; // reset player input for new round + acceptingInput = true; + message.textContent = `Level ${level}: Repeat the sequence`; +} + +// Check player input +function checkPlayerInput() { + const currentIndex = playerSequence.length - 1; + if (playerSequence[currentIndex] !== sequence[currentIndex]) { + message.textContent = `Game Over! You reached level ${level}`; + startBtn.disabled = false; + sequence = []; + playerSequence = []; + level = 0; + acceptingInput = false; + return false; + } + + if (playerSequence.length === sequence.length) { + level++; + message.textContent = `Level ${level} completed!`; + setTimeout(nextRound, 800); // small delay before next round + } + return true; +} + +// Button click handler +buttons.forEach((btn) => { + btn.addEventListener("click", async () => { + if (!acceptingInput) return; + playerSequence.push(btn); + await flashButton(btn); + checkPlayerInput(); + }); +}); + +// Start button +startBtn.addEventListener("click", () => { + level = 1; + message.textContent = `Level ${level}: Repeat the sequence`; + sequence = []; + playerSequence = []; + nextRound(); + startBtn.disabled = true; +}); diff --git a/examples/Simon-Says/styles.css b/examples/Simon-Says/styles.css new file mode 100644 index 00000000..d9520668 --- /dev/null +++ b/examples/Simon-Says/styles.css @@ -0,0 +1,50 @@ +body { + font-family: Arial, sans-serif; + text-align: center; + background: #222; + color: #fff; +} + +h1 { + margin-top: 20px; +} + +.game-container { + display: grid; + grid-template-columns: repeat(2, 150px); + grid-gap: 20px; + justify-content: center; + margin: 40px auto; +} + +.color-button { + width: 150px; + height: 150px; + border-radius: 15px; + cursor: pointer; + transition: transform 0.1s, opacity 0.2s; +} + +#green { background: #0f0; } +#red { background: #f00; } +#yellow { background: #ff0; } +#blue { background: #00f; } + +.color-button.active { + transform: scale(1.1); + opacity: 0.7; +} + +#start-btn { + padding: 10px 20px; + font-size: 16px; + cursor: pointer; + border: none; + border-radius: 5px; + margin-top: 20px; +} + +#message { + margin-top: 20px; + font-size: 18px; +}