From e76d27d1e5a03a3de08f51a36769255df48ba33d Mon Sep 17 00:00:00 2001 From: Joseph Ferano Date: Thu, 19 Jun 2025 13:02:07 +0700 Subject: [PATCH] Update README --- README.org | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- websudoku.py | 2 -- 2 files changed, 48 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 007e04f..2c92f27 100644 --- a/README.org +++ b/README.org @@ -1,5 +1,51 @@ #+OPTIONS: toc:nil +#+TITLE: Pydoku -# Pydoku +A Sudoku game built with Python and Pygame that fetches puzzles from websudoku.com. -Uses pygame-ce to render games fetched from websudoku.com +* Why This Project? + +This project was created to combine the best of both worlds: advanced pencil marking techniques (specifically Snyder notation as explained in [[https://www.youtube.com/watch?v=TomEiPJyQiU][this video]]) with vim-style keyboard navigation. I wanted all the fancy pencil marks for serious Sudoku solving but without having to rely on mouse controls. Nothing too fancy going on here, not very robust. Just gets the job done whenever I want to play a quick game of sudoku on my computer. + +* Features + +- Interactive Sudoku puzzle solving +- Multiple difficulty levels (Easy, Medium, Hard, Evil) +- Snyder notation pencil marks support (center and border notation) +- Pause/resume functionality +- Timer to track solving time +- Solution checking +- Vim-style keyboard navigation (no mouse required!) + +* Controls + +- *Arrow keys or WASD/HJKL*: Move cursor (vim motions supported) +- *1-9*: Enter numbers +- *F*: Fill mode (default) +- *C*: Center pencil marks mode +- *B*: Border pencil marks mode +- *Backspace*: Clear cell/pencil marks +- *P*: Pause/resume +- *Enter*: Check solution +- *Mouse*: Click to select cells or buttons (optional) + +* Usage + +#+begin_src bash +python pydoku.py [difficulty] +#+end_src + +Difficulty options: =easy=, =medium=, =hard=, =evil= (default: medium) + +* Requirements + +- Python 3.x +- Pygame + +* License + +MIT License + +* Puzzle Source + +Puzzles are fetched from [[https://www.websudoku.com][websudoku.com]] diff --git a/websudoku.py b/websudoku.py index dccfe07..e2a4fed 100644 --- a/websudoku.py +++ b/websudoku.py @@ -15,8 +15,6 @@ class Difficulty(Enum): HARD = 3 EVIL = 4 -host = "five.websudoku.com" - async def get_sudoku_puzzle_test(): cheat = [ 1,7,6,5,9,4,3,2,8, 3,5,8,6,7,2,9,1,4,