介绍
# Sudoku
## 概述
获取、渲染并揭示数独谜题。使用 `sudoku.py` 从 `sudokuonline.io` 获取新谜题,生成可打印的 PDF 或图片,并揭示解答。
有关保存的 JSON 格式的详细信息,请参阅 [DATA_FORMAT.md](references/DATA_FORMAT.md)。
## 可用的谜题类型
* `kids4n`: 儿童 4x4 * `kids4l`: 儿童 4x4 带字母 * `kids6`: 儿童 6x6 * `kids6l`: 儿童 6x6 带字母 * `easy9`: 经典 9x9(简单) * `medium9`: 经典 9x9(中等) * `hard9`: 经典 9x9(困难) * `evil9`: 经典 9x9(极难)
## 设置 / 要求
- 二进制文件:`python3` - Python 库: ```bash python3 -m pip install requests Pillow lzstring ```
## 获取谜题
获取一个新谜题并将其存储为 JSON。默认输出为 JSON(使用 `--text` 获取人类可读的输出)。
**获取一个经典简单谜题:** ```bash ./scripts/sudoku.py get easy9 ```
**获取一个儿童 6x6 谜题:** ```bash ./scripts/sudoku.py get kids6 ```
## 渲染谜题
将谜题渲染为图片或 PDF。
**将最新的谜题渲染为 A4 PDF(用于打印):** ```bash ./scripts/sudoku.py render --pdf ```
**将最新的谜题渲染为简洁的 PNG(用于查看):** ```bash ./scripts/sudoku.py render ```
**通过短 ID 渲染特定的过往谜题:** ```bash ./scripts/sudoku.py render --id a09f3680 ```
## 揭示解答
揭示最新或特定谜题的解答。使用 `--id <short_id>`(例如 `a09f3680`)来指定特定谜题。
**将完整解答揭示为可打印 PDF:** ```bash ./scripts/sudoku.py reveal --pdf ```
**揭示特定 ID 的完整解答:** ```bash ./scripts/sudoku.py reveal --id a09f3680 --image ```
**将完整解答揭示为 PNG 图片:** ```bash ./scripts/sudoku.py reveal ```
**揭示单个单元格(第 3 行,第 7 列):** ```bash ./scripts/sudoku.py reveal --cell 3 7 ```
**揭示特定的 3x3 宫格(索引 5):** ```bash ./scripts/sudoku.py reveal --box 5 ```
## 分享链接
为存储的谜题生成分享链接。默认针对最新谜题;使用 `--id <short_id>` 指定特定谜题。
**生成 SudokuPad 分享链接(默认):** ```bash ./scripts/sudoku.py share ```
**为特定 ID 生成链接:** ```bash ./scripts/sudoku.py share --id a09f3680 ```
**生成 SCL 分享链接:** ```bash ./scripts/sudoku.py share --type scl ```
**Telegram 格式化提示:** 将链接格式化为短按钮式链接并隐藏完整 URL:`[Easy Classic \[<id>\]](<url>)`。