NoneBot2交互式走迷宫插件
Project description
Nonebot_Plugin_Maze
✨ 基于OneBot适配器的NoneBot2交互式解迷宫插件 ✨
功能
- 可指定大小与算法生成迷宫
- 以文字消息作为交互形式解迷宫
- 游戏过程中可随时退出
安装
- 使用 nb-cli
nb plugin install nonebot_plugin_maze
- 使用 pip
pip install nonebot_plugin_maze
如何使用
.env 配置项
min_maze_rows = 13 # 迷宫最小行数
max_maze_rows = 35 # 迷宫最大行数
min_maze_cols = 13 # 迷宫最小列数
max_maze_cols = 35 # 迷宫最大列数
default_maze_rows = 18 # 迷宫默认生成行数
default_maze_cols = 27 # 迷宫默认生成列数
各配置项的含义与默认值如上。
-
对于以上配置项,规定需同时满足
min_maze_rows <= default_maze_rows <= max_maze_rows
以及min_maze_cols <= default_maze_cols <= max_maze_cols
。 -
因此,在修改一些配置项时可能强制需要连着某些其他的配置项一起修改。
-
同时,建议不要把最小行数/列数设置为小于10的值,以免引发未知错误
- 也建议不要把最大行数/列数设置过大,例如50以上,第一是因为资源占用问题,
第二是因为生成个那么大的迷宫有谁愿意玩啊喂
- 也建议不要把最大行数/列数设置过大,例如50以上,第一是因为资源占用问题,
开始游戏
使用以下命令触发,需加上命令前缀!
maze [-r --rols <ROWS>] [-c --cols <COLUMNS>] [-m --method <ALGORITHM>]
-
可使用
-r
规定迷宫的行数,-c
规定迷宫的列数- 以上两项参数的范围和默认值参考
.env
文件中的相关配置项。
- 以上两项参数的范围和默认值参考
-
可使用
-m
规定迷宫的生成算法,目前支持DFS
,Prim
,Kruskal
三种算法,默认值为Kruskal
,检测此参数时对大小写不敏感。
如何进行游戏
在用户发送指令获取到初始迷宫后,我们终于可以开始愉快地游戏了!
用户需要持续发送操作序列以在迷宫中移动,直到解开迷宫。
至于操作序列是什么,让我们先来定义操作。
-
我们定义一个操作的格式为
方向+步数
,用正则表达就是[UDLR]\d*
,用阳间方法表达的话就是U(up)|D(down)|L(left)|R(right) + steps
,步数
可以留空以表示一步。 -
例如
R
,D3
,L1
就是几个合法的操作,分别表示右移一步,下移三步,左移一步。- 注意:单个操作中步数大于10是不合法的,例如
D11
,R18
- 识别操作时对大小写不敏感
- 为避免频繁数格子的问题,我们定义
一步
为向该方向的路径一直走,直到遇见死路或走到岔路口,有可能拐弯。
- 注意:单个操作中步数大于10是不合法的,例如
有了操作是什么,我们就可以定义操作序列了。
-
顾名思义,操作序列就是
n(n≥1)
个操作组合而成的序列,以字符串的形式表达。 -
例如
R2D3RU2LD2R4
就是一个合法的操作序列,含义不必赘述。- 注意:单个操作序列中所有操作步数总和不可大于50,例如
R10D10R10U10L10D
是不合法的。
- 注意:单个操作序列中所有操作步数总和不可大于50,例如
游戏中觉得太耗时间?迷宫太难解不出来?不想玩了?
- 可以在游戏过程中随时发送
结束
或者quit
以结束游戏并获取参考解法。
演示
只用文字描述往往十分吃力,废话不多说,上Demo:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nonebot_plugin_maze-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fb124db1cf90a9b0f582cc1adfe8d86ca04b21dd82f3ddb6c58cb5c28eb46c8 |
|
MD5 | f0bdc7936ffeeb3f5ec850f727d088a0 |
|
BLAKE2b-256 | f65734b653bedddd1605fbad7d5b976df987288c03a0b523db9b3424c710d81a |
Hashes for nonebot_plugin_maze-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a86bf0e0040f8de45ff27477f68f855eb0637e45b4ad097e4828ea7f1be4339 |
|
MD5 | b64bfe82ea8aff3ea6b570e407742063 |
|
BLAKE2b-256 | 1b7b4e75b564449dc4edd1e9dac79bd4c302ad6b65ff632dca004083808e45e8 |