
TicTacToe_React_TypeScript_Tailwind
Design comparison
Solution retrospective
Key Features:
- Two Game Modes: Play against an AI or with a friend
- Adjustable CPU Difficulty: Beginner, Intermediate, and Hard (default: Hard)
- Persistent Score Tracking: Keeps track of wins, losses, and ties
- Smooth Animations: Enhances user experience
- Fully Responsive: Works on all screen sizes
- Modern UI/UX: Built with cutting-edge libraries
First time I've used shadcn/ui, styling a component from the library to match the design of the model. I was able to add an animation that adds value to the overall experience of the application.
What challenges did you encounter, and how did you overcome them?Implementing the different game algorithms, and in particular the cpu mode, wasn't easy, so I had to go and find some external code to develop the functionality. Managing the different states is also complex throughout the application.
The project is Built with :
- Vite - Fast development environment
- React - Modern UI framework
- TypeScript - Strongly typed JavaScript
- React Router DOM - For navigation and error handling
- Tailwind CSS - Utility-first styling
- Shadcn/UI - Custom UI components
- Framer Motion - Smooth animations
- Zustand - Global state management
- Lucide - Icon library
I know that some effects are missing at the end of the game to bring out the winning combination, but I'll come back to this later. 99% of what was expected is there, and as usual I'm open to any suggestions for improvements. Thanks in advance.
Community feedback
- P@tsotneforesterPosted 7 days ago
just remove this huge vertical scroll 😅 and on netlify if using react router you must include _redirects file in public folder to make routes work.
https://juliengdev-tictactoe.netlify.app/ - returnes "page not found"
0
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord