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.6.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: python-tictactoe-0.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 bbacc2a67428e273d61634a33b5f8178c5bf0cf767de5e8db1bd66efab481d78
MD5 bc5d0c2c02fd36025d55ca7e9813b3d9
BLAKE2b-256 fb95d1c021b59738f2c892d98d4d0bac81b06c27c0e2aa275307d3475fde4136

See more details on using hashes here.

File details

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

File metadata

  • Download URL: python_tictactoe-0.0.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6f785b7f30e2e0ad2ce8064566096fa06bfe8f063f3ff3d840d86c4c0ecd9604
MD5 a16031d66e74f707549d1853de080a95
BLAKE2b-256 bc40f425e3ae149403f75f1bac45e28b38a71f8e4137f5da774d4e8dae0d892f

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