Skip to content

aiden2480/binary-puzzle

Repository files navigation

🧩 Binary Puzzle

📊 Details

Aiden Gardner 11SDD6 Year 11 Term 2 BinaryPuzzle assessment 2021. Solves 6x6 binary puzzles using three rules. Available in HTML and Python.

📜 Licence

This project is licensed under the MIT licence. For more info, see the group project Wiki page.

🐍 Python

The Python version is located under python/ and should be accessed via cd python before running main.py (due to relative imports). Dependencies may be installed through pip install -r requirements.txt. Colorama module is optional. An executable file is automatically created on each push, though it doesn't have colorama support enabled.

If the Python main.py file by itself isn't working, it's preferable to Run on Repl.it instead, but other options are available. If the program displays a bunch of replacement characters (�) instead of displaying a title, use the --no-title flag. If you want to disable terminal colours (:confused:) pass the --no-colour flag

📝 Future features

  • If the grid is still incomplete after passing the three tests, randomly guess cells until correct
  • Make it so the code can't physically solve the puzzle incorrectly
    • This scenario might occur if the user screws up the puzzle and then clicks Solve fully
  • Save and load sessions from cookie savedata includes:
    • version (of the program to run the save on)
    • date - when the save was created
    • cell data - current state of the cells
    • cell template - use to grey out template cells
  • Add functionality for the code to generate puzzles for the user to complete
  • Update readme descriptions with commit links
  • Cells that are updated by code temporarily flash green to draw attention before fading to blurple
  • Allow for variable puzzle size
    • Added in version v1.09
    • Create table from js
  • Functions isGridFull and attachCellScript
    • Added in version v1.10
    • If the grid is full, run some js to display a correct/incorrect message
    • Move cell script attachment to different function to allow for variable grid size
  • Function that checks if the puzzle is correct when all cells are filled in
  • Add opengraph tags for discord embeds
  • Add a licence
  • Reset grid to template button
  • Display error message if user violates rule while still solving
  • Turn application into a PWA
    • Added after version v1.13
  • Automate latest.html redirect link
  • Add logo to python executable