1
0
Fork 0
Balanced diversity solver xoxo to the square. https://codes.dilettant.life/docs/xoxo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Stefan Hagen e31e1a4040
Bumped test deps (Faker==18.2.0)
18 hours ago
docs Removed link (wrong perspective) in the documentation that clarify contribution channels 7 days ago
test Bumped test deps (Faker==18.2.0) 18 hours ago
xoxo
.editorconfig
.gitattributes
.gitignore
LICENSE
Makefile
README.md Removed link (wrong perspective) in the documentation that clarify contribution channels 7 days ago
baseline-bandit.json
gen-sbom
gen_licenses.py
gen_sbom.py
gen_version.py
indirect-package-names.yml
mkdocs.yml
pyproject.toml
requirements.txt
sbom.json
sbom.json.sha256
third-party-fallbacks.yml

README.md

XOXO

Balanced diversity solver xoxo to the square.

License: MIT

Third party dependencies are documented in the folder third-party.

version downloads wheel supported-versions supported-implementations

Documentation

User and developer documentation of xoxo.

Bug Tracker

Any feature requests or bug reports shall go to the todos of xoxo.

Primary Source repository

The main source of xoxo is on a mountain in central Switzerland. We use distributed version control (git). There is no central hub. Every clone can become a new source for the benefit of all. The preferred public clones of xoxo are:

  • on codeberg - a democratic community-driven, non-profit software development platform operated by Codeberg e.V.
  • at sourcehut - a collection of tools useful for software development.

Contributions

Please do not submit "pull requests" (I found no way to disable that "feature" on GitHub). If you like to share small changes under the repositories license please kindly do so by sending a patchset. You can either send such a patchset per email using git send-email or if you are a sourcehut user by selecting "Prepare a patchset" on the summary page of your fork at sourcehut.

Example

Given the input file:

 cat test/fixtures/grid_s_1.txt
O
X
OX   X
 XX
   OO
XXO

for clarity showing the dump to expose the regularity:

 xxd -c 7 test/fixtures/grid_s_1.txt
00000000: 4f20 2020 2020 0a  O     .
00000007: 5820 2020 2020 0a  X     .
0000000e: 4f58 2020 2058 0a  OX   X.
00000015: 2058 5820 2020 0a   XX   .
0000001c: 2020 204f 4f20 0a     OO .
00000023: 5858 4f20 2020 0a  XXO   .

xoxo will try to solve the puzzle in a diverse but balanced way:

 xoxo test/fixtures/grid_s_1.txt
Problem:

,---+---+---+---+---+---,
| O |   |   |   |   |   |  1
|---+---+---+---+---+---|
| X |   |   |   |   |   |  2
|---+---+---+---+---+---|
| O | X |   |   |   | X |  3
|---+---+---+---+---+---|
|   | X | X |   |   |   |  4
|---+---+---+---+---+---|
|   |   |   | O | O |   |  5
|---+---+---+---+---+---|
| X | X | O |   |   |   |  6
*---+---+---+---+---+---*
  1   2   3   4   5   6


Solution:

,---+---+---+---+---+---,
| O | O | X | O | X | X |  1
|---+---+---+---+---+---|
| X | O | O | X | X | O |  2
|---+---+---+---+---+---|
| O | X | O | X | O | X |  3
|---+---+---+---+---+---|
| O | X | X | O | X | O |  4
|---+---+---+---+---+---|
| X | O | X | O | O | X |  5
|---+---+---+---+---+---|
| X | X | O | X | O | O |  6
*---+---+---+---+---+---*
  1   2   3   4   5   6

More in the usage documentation

Status

Experimental.

Note The default branch is default.