A library simplifying the process of embedding a TicTacToe game in your python project.
Project description
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.")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lemon_tictactoe-0.2.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32771f0d299be3e4e7d906c356277a5787ead4a5f4ea3805175df11a5dfaa6cb |
|
MD5 | 8fed69dcd3244898e5563ea0091d70be |
|
BLAKE2b-256 | 6a935fdfb2b48da84a554a39e1267e07e09d70cd8a59706a18a060017b00c754 |