All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Basic unit tests for critical game functions
- Test cases for win condition checking
- Verification of minimax algorithm's correctness
- Testing of game initialization and reset functionality
- Refactored code for better modularity and readability
- Separated game logic into smaller functions
- Improved function and variable naming conventions
- Added more comments to explain code functionality
- Implemented alpha-beta pruning algorithm for AI player
- Optimized minimax algorithm with alpha-beta pruning
- Improved AI player's decision-making process
- Optimized code performance and efficiency
- Reduced redundant calculations and function calls
- Improved memory management and allocation
- Optimized game board rendering and updating process
- AI player's suboptimal moves in certain scenarios
- Game crashes caused by invalid user input
- Memory leaks during prolonged gameplay sessions
- Compatibility issues across different platforms
- AI player's decision-making time increases exponentially with larger board sizes
- Game UI responsiveness may degrade on low-end systems
- Some edge cases in game logic may not be fully covered by unit tests
- Localization support is limited to a single language
- Initial version of the game
- Basic game logic and user interface
- Drawing 3x3 tic-tac-toe board
- Displaying player turn
- Handling human player input
- Checking game end conditions (win or draw)
- Displaying game messages through message queue
- Support for different game modes
- Human vs Human
- Human vs AI (Easy/Hard mode using Minimax algorithm)
- AI vs AI
- Additional features
- Main menu to select game mode and start the game
- Exit scene to confirm game exit
- Hiding/showing cursor
- Clearing screen
- Waiting for user input
- Toggle for displaying tile hints on the game board
- Turn counter and display for current player's turn
- Simple delay function for simulating AI thinking time
- Basic error handling and assertions for debugging
- Inline functions for common operations to improve performance
- Documented the code using Doxygen-style comments
- AI player sometimes makes suboptimal moves in Hard mode
- Game may crash if user enters invalid input during gameplay
- Memory leaks detected during prolonged gameplay sessions
- Compatibility issues reported on certain platforms
- Game state not properly reset when starting a new game after finishing one