Skip to main content

A tic-tac-toe library that supports different sizes and dimensions and how many marks in a row to win

Project description

python-tictactoe

PyPI version Tests Build Mypy codecov

A tic-tac-toe library that supports different sizes and dimensions and how many marks in a row to win.

Installing

Download and install the latest release:

pip install python-tictactoe

Features

  • Includes mypy typings.

  • Different board sizes

from tictactoe import Board

board = Board(dimensions=(4, 5))
  • More than 2 dimensions
from tictactoe import Board

board = Board(dimensions=(6, 2, 5, 8))
  • More than 3 in a row to win
from tictactoe import Board

board = Board(dimensions=(10, 10, 10), x_in_a_row=8)
  • See the board
from tictactoe import Board

board = Board(dimensions=(2, 2, 2), x_in_a_row=2)
board.push((0, 0, 0))
board.push((0, 1, 0))
print(board)

"""
 X |   
-------
 O |   
-------
-------
   |   
-------
   |   
"""
  • Generate endgame tablebases
from tictactoe.egtb import Generator
import functools, operator

dimensions = (4, 3)
total_squares = functools.reduce(operator.mul, dimensions)
for index in reversed(range(total_squares + 1)):
    Generator(dimensions, 3, index)
  • Read endgame tablebases
from tictactoe.egtb import Reader
from tictactoe import Board

reader = Reader((3, 3), 3, 2)
board = Board((3, 3), 3)
board.push((0, 0))
board.push((0, 1))
print(reader.index(board))

License

python-tictactoe is licensed under the MIT License. Check out LICENSE for the full text.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-tictactoe-0.0.7.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

python_tictactoe-0.0.7-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file python-tictactoe-0.0.7.tar.gz.

File metadata

  • Download URL: python-tictactoe-0.0.7.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.13

File hashes

Hashes for python-tictactoe-0.0.7.tar.gz
Algorithm Hash digest
SHA256 a2e9097b213f91b77388ad618f5c3a3867b533eb147d9a2c4f21395ddb2d4d1e
MD5 350532b4c1124d8b31ddcdd704fa33a8
BLAKE2b-256 70d0da2062a18f9d526f06dab5e2f7890521014011f3d6ab3acba7c1bacff262

See more details on using hashes here.

File details

Details for the file python_tictactoe-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: python_tictactoe-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.13

File hashes

Hashes for python_tictactoe-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7430c78109fce78585044a3824924568029d8e5845e5bea136c282ff477de3ef
MD5 39416de50f161031b0bf4c6242bb30ea
BLAKE2b-256 e0e31944f4dcc21e9f9edad21b0ddaaa79af843597075fe243d1ddf9b405f16b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page