Metadata-Version: 2.1
Name: numle
Version: 0.1.4
Summary: Numle Helper
Author-Email: lidongxun967 <Debug967@outlook.com>
Requires-Python: >=3.12
Requires-Dist: numba>=0.61
Requires-Dist: numpy<2.3
Requires-Dist: tqdm>=4.67.1
Requires-Dist: typer>=0.16.0
Description-Content-Type: text/markdown

# Numle Helper - 数字猜谜游戏助手

这是一个用于解决类 Wordle 数字猜谜游戏（通常称为 Numle）的 Python 命令行工具。它可以帮助您根据已有的线索计算出最佳猜测，或者验证某个数字组合。

## 功能

*   **游戏模式 (`play`)**: 程序随机生成一个指定长度的数字，由用户来猜，并给出提示。
*   **检查模式 (`check`)**: 当您知道谜底时，可以用来快速验证某个猜测的结果（包含几个数字、位置正确几个数字）。
*   **求解模式 (`solve`)**: 核心功能，一个强大的交互式解谜助手。根据您提供的线索（例如，猜测 `12345` 后，有 `2` 个数字包含在谜底中，`1` 个数字位置正确）来排除不可能的组合，并自动计算和推荐下一步的最佳猜测。
*   **自动求解模式 (`auto-solve`)**: 给定一个谜底，程序将自动进行猜测并展示完整的求解过程。如果未提供谜底，则会随机生成一个。
*   **测试模式 (`test`)**: 对指定长度的所有可能谜底进行遍历求解，以测试求解器的性能和正确率。支持多进程并行计算以提高效率。

## 如何使用

需事先安装 python3、uv

### 查看帮助

```sh
uv run main.py --help
```

### 命令示例

#### 游戏模式 (`play`)

开始一个5位数字的猜谜游戏：

```sh
uv run main.py play 5
```

#### 检查模式 (`check`)

以 `12345` 为谜底，检查用户的猜测：

```sh
uv run main.py check 12345
```

#### 求解模式 (`solve`)

启动一个5位数字的交互式求解器：

```sh
uv run main.py solve --length 5
```

#### 自动求解模式 (`auto-solve`)

自动求解谜底 `98765`：

```sh
uv run main.py auto-solve 98765
```

随机生成一个5位数的谜底并自动求解：

```sh
uv run main.py auto-solve --length 5
```

#### 测试模式 (`test`)

使用所有 CPU 核心测试4位数字的所有可能性：

```sh
uv run main.py test -l 4 -p 0
```