The rationale for this project was to create a fun Tic Tac Toe game, which runs in the Code Institute mock terminal on Heroku.
Users will go up against the computer in a classical game of Tic-Tac-Toe.
The player who succeeds in placing three of their marks in a horizontal, vertical, or diagonal row is the winner.
If played optimally by both players, the game always ends in a tie, making tic-tac-toe a futile game that's been played and enjoyed for centuries.
Here is the live version of my project - Tic Tac Toe
You probably already know how to play Tic-Tac-Toe. It's a really simple game, right? That's what most people think. But if you really wrap your brain around it, you'll discover that Tic-Tac-Toe isn't quite as simple as you think!
Tic-Tac -Toe (along with a lot of other games) involves looking ahead and trying to figure out what the person playing against you might do next.
-
The game is played on a grid that's 3 squares by 3 squares.
-
You are X, your friend (or the computer in this case) is O. Players take turns putting their marks in empty squares.
-
The first player to get 3 of her marks in a row (up, down, across, or diagonally) is the winner.
-
When all 9 squares are full, the game is over. If no player has 3 marks in a row, the game ends in a tie.
Play against the computer
- Random move generator
Accepts user input
Input validation and error-checking
- You must enter a number between 1 - 9.
- You must place your mark at a board position that has not already been choosen.
- A more interactive interface
- Multiplayer option
- Leaderboard
Validator Testing
No errors were returned when passing through the Python PEP8 validator.
Manual Testing
I have manually tested this project throughout production and confirmed the following:
- Logic of game works.
- Necessary feedback is presented in a clear and engaging way.
- The get_user_move() input only accepts valid data, which is a number between 1 - 9.
- The play_again() input only accepts valid data, which is "yes" or "no"
- ...
Bugs
I found ...
Unfixed Bugs
N/A
Python - As a dynamic, high level, free open source and interpreted programming language
Code Institute mock terminal on Heroku - Files containing HTML, CSS and JavaScript were all provided by Code Institute for this project
Heroku - As a container-based cloud Platform, to deploy live version of my project.
GitHub - As a software hosting platform to keep project in a remote location.
Git - As a version-control system tracking.
Gitpod - As a development hosting platform.
Figma - As a browser-based UI and UX design application to create the flowchart scetch.
Text content
Code