A tiny collection of web mini‑games with a bold, built using Tailwind CSS (CDN) and vanilla JavaScript modules.
This project contains a landing page and three simple games:
- Number Guessing — find the secret number within limited attempts, with higher/lower hints.
- Rock • Paper • Scissors — play classic RPS against the computer over multiple rounds.
- Clicker — click as many times as possible before the timer ends.
The landing page introduces the “studio” and links to each game using big, blocky cards and chunky shadows.
- HTML + CSS (Tailwind via CDN)
- Vanilla JavaScript (ES modules)
Because scripts use root-absolute paths like /js/*.js, please serve the project from the workspace root with a local web server (opening files directly may break imports).
Pick one option:
- VS Code “Live Server” extension (recommended): open
index.htmland click “Go Live”. - Python (3.x):
# From the project root python -m http.server 8000 # Then open http://localhost:8000/
- Node (using npx):
# From the project root npx serve -l 8000 # Then open http://localhost:8000/
index.html # Landing page (links to all games)
games/
clicker.html
number-guessing.html
rock-paper-scissors.html
js/
clicker.js
number-guessing.js
rock-paper-scissors.js
utils.js # Small DOM helpers ($, $$) and arrayItemChecker
css/ # (Reserved if you add custom CSS)
- Range: 1–100
- Attempts: configurable in
js/number-guessing.jsviatotalAttemptsGiven - UI: shows feedback (too high/low), attempts left, and previous guesses
- Start button hides the instruction card and shows the game container
Tip: Adjust the allowed attempts by changing:
let totalAttemptsGiven = 10; // recommended- Total rounds: 10
- Scoreboard: user vs. computer, draws don’t change scores
- End of game: disables choice buttons and shows a winner alert
- Start button toggles instruction/game visibility
- Countdown: defaults to 3 seconds (editable)
- Goal: click as many times as possible before time expires
- End of game: disables the button and shows your total clicks
Change the time limit in js/clicker.js:
let timeCounter = 10; // seconds