Skip to main content

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:
TicTacToe Board Coordinates

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)

Source distribution for lemon-tictactoe 0.2.3
File Size Uploaded
lemon_tictactoe-0.2.3.tar.gz 18.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for lemon-tictactoe 0.2.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page