This project was modeled after RealPython's tutorial on creating a Tic Tac Toe game using Python's Tkinter library, which can be found in this link (Pozo Ramos & Real Python, 2022)! This project aims to:
- Implement the Tic-Tac-Toe game using object-oriented programming principles to ensure the code's modularity, reusability, and maintainability.
- Improve proficiency in Python by applying OOP concepts such as classes, objects, inheritance, encapsulation, and polymorphism.
- Design a simple and intuitive user interface to interact with the game via Tkinter, ensuring ease of use and a smooth user experience.
- Perform thorough testing to identify and fix bugs, ensuring the game operates correctly under various scenarios.
- Share the project on GitHub to showcase programming skills and project work to potential employers, peers, and the wider programming community.
The game created follows the conventional Tic-Tac-Toe game rules, which can be referred to through this link (Tic Tac Toe | Exploratorium, 2023). It is currently only playable in the 3 by 3 sized grid with two human players. Improvements to the projects will be made soon, which include introducing a selection of varying sizes (e.g. 4x4, 5x5) and the ability to play against a computer program.
- The code initiates as an executable program and instantiates
game
andboard
variables from theTicTacToeGame
andTicTacToeBoard
classes, respectively. - The board and grid are displayed, and the game algorithm waits for input from the players.
- Pozo Ramos, L. & Real Python. (2022, June 27). Build a Tic-Tac-Toe game with Python and Tkinter. Retrieved May 20, 2024, from https://realpython.com/tic-tac-toe-python/
- Tic Tac Toe | Exploratorium. (2023, April 4). Exploratorium. https://www.exploratorium.edu/explore/puzzles/tictactoe
Thank you so much for visiting my repository! I sincerely hope my project can help you in providing insights to regression analysis, machine learning models, and report writing! 😄 If you would like me to explain my project further or contact me for any reason, you can email me below or connect with me on LinkedIn!