Lemon-TicTacToe
A tic tac toe python library aiming to make it easy to implement TicTacToe into whatever project you like.
My first attempt at making a python library.
Features
- Creating TicTacToe games of various board sizes
- Interacting with the game without a forced event loop
Requirements
- Python 3.9 or higher
Getting started
pip install lemon-tictactoe
Usage
Setting up the game
You can easily create a game by instantiating the TicTacToeGame class.
The default options will result in a traditional TicTacToe game.
from lemon_tictactoe import TicTacToeGame
game = TicTacToeGame()
But you are also able to pass various configuration options to get a more custom experience:
from lemon_tictactoe import TicTacToeGame
game = TicTacToeGame(board_size=10, player_count=5, starting_player=2)
Grid coordinates
The coordinates (0, 0) are at the top left of the board.
Here is a visual representation of the board coordinates (x, y) with board_size=3:
Playing moves
You can use the TicTacToeGame.move method, specifying a player and x,y coordinates to play a move.
This will make Player 1 play their move on x=1 and y=2:
win = game.move(1, 1, 2)
The move method will return True if it lead to a win of the specified player.
Handling invalid move input
Sometimes players might do moves which are not allowed, you can catch errors to handle these cases:
from lemon_tictactoe import TicTacToeGame, CellOccupiedError, WrongPlayerError
game = TicTacToeGame()
try:
game.move(1, 1, 2)
except ValueError:
print("Move out of bounds or otherwise invalid input.")
except CellOccupiedError:
print("The specified cell is already occupied.")
except WrongPlayerError:
print("Wrong player tried to play a turn.")
Metadata
Release files for lemon-tictactoe 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lemon_tictactoe-0.2.3.tar.gz | 18.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lemon_tictactoe-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.4 kB
Release files / lemon_tictactoe-0.2.3.tar.gz
| Download URL | lemon_tictactoe-0.2.3.tar.gz |
|---|---|
| Size | 18.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0df36374e5a5530675146e9d0d288767f5de17c096875bf461cfdc33bb50083a
|
|
BLAKE2b-256 checksum How to use checksums |
511d9083b78a067121bb9832020c33ef7016c84a9d9343efe0e8fa6300d5a0ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.11
|
Release files / lemon_tictactoe-0.2.3-py3-none-any.whl
| Download URL | lemon_tictactoe-0.2.3-py3-none-any.whl |
|---|---|
| Size | 21.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
32771f0d299be3e4e7d906c356277a5787ead4a5f4ea3805175df11a5dfaa6cb
|
|
BLAKE2b-256 checksum How to use checksums |
6a935fdfb2b48da84a554a39e1267e07e09d70cd8a59706a18a060017b00c754
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.10.11
|