This project is a simple implementation of the classic Tic-Tac-Toe game, developed as part of my learning journey in front-end web development. It was completed as a task for The Odin Project FullStack JS curriculum, with assistance from ChatGPT for guidance and clarification on JavaScript concepts.
- Game Setup: Implement the game logic using modular JavaScript, storing the gameboard and player information in objects.
- Modular Approach: Minimize global variables by encapsulating functionalities inside factories and employing the module pattern (IIFE) where applicable.
- Logical Structure: Strategically place logic within game, player, and gameboard objects to ensure clarity and maintainability.
- Console Game: Initially focus on building a functional game in the console, ensuring it detects winning conditions (3-in-a-row) and ties.
- DOM Integration: Develop DOM manipulation functions to render gameboard contents and enable player interaction (placing markers) via clicks.
- User Interface: Enhance user experience with features like player name input, game start/restart button, and results display upon game completion.
- Player Input: Allows players to enter their names and markers (X or O) before starting the game.
- Board Size Customization: Supports different board sizes, allowing for flexibility in gameplay.
- Winning Score Configuration: Players can set a custom winning score to determine the number of rounds needed to win.
- Responsive Design: Utilizes CSS Flexbox and Grid for responsive layout across various devices.
- Gameplay Logic: Implements game logic to determine wins, draws, and player turns. UI Updates: Dynamically updates the game board and player information during gameplay.
- HTML5 with a little of BEM
- SASS & CSS3 (including Flexbox and Grid for layout)
- Vanilla JavaScript: Used for game logic and DOM manipulation
- GitHub: Version control and repository hosting