A modern, feature-rich Tic-Tac-Toe web application built with React, Vite, and Tailwind CSS. Features custom user onboarding, single-player AI (Easy, Medium, Hard Unbeatable Minimax), local 2-player pass-and-play, sound synthesizer effects, and local score persistence.
- 👤 Player Onboarding: Enter nickname and select custom avatar icon saved locally in
localStorage. - 🤖 AI Difficulty Levels:
- Easy: Casual mode that makes random moves.
- Medium: Tactical AI that blocks opponent's winning lines.
- Hard: Unbeatable AI powered by the Minimax Algorithm with depth-weighting and alpha-beta pruning.
- 👥 Local 2-Player Mode: Pass & Play with custom Player 2 name.
- 🎵 Web Audio Sound Synthesizer: Custom retro sound effects for clicks, mark placements, undo moves, win fanfare, and draw chimes.
- 🎆 Victory Celebrations: Animated SVG winning line overlays and victory confetti.
- 📊 Stats & Match History: Persistent record of total wins, losses, draws, win rate percentage, and active win streaks.
- Node.js (v16+ recommended)
npmoryarn
-
Clone the repository:
git clone https://github.com/thatZion/Tic-Tac-Toe.git cd Tic-Tac-Toe -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
Distributed under the MIT License. See LICENSE for details.