2 个版本
0.1.1 | 2024 年 3 月 13 日 |
---|---|
0.1.0 | 2024 年 3 月 13 日 |
#120 在 可视化
每月 39 次下载
150KB
1.5K SLoC
A-Puzzle-A-Day
DragonFjord's A-Puzzle-A-Day 要求你在日历框中将八块拼图放置好,以显示当前日期。这些拼图在框中大约有 6 万种放置方式,其中超过 2 万种是有效解决方案。这意味着平均每个日期有 67 个解决方案,但有些日期解决这个谜题可能看起来完全无望。
这款软件对于那些沮丧、自信心受挫的日子来说就像一束神圣的光,让你可以轻松地生成和浏览所有日期的解决方案。
用法
有三种主要使用模式: browse
、random
和 generate
。
浏览
$ a-puzzle-a-day browse [-f/--file <FILE>] [-d/--date <DATE>]
打开显示所有解决方案的 TUI(文本用户界面)。UI 被分为两个面板:日期面板(左侧)和解决方案面板(右侧)。要导航,请使用箭头按钮或 hjkl。要切换面板,请按 Tab 或 Enter。要退出,请按 Escape 或 q。
此外,还提供了完整的鼠标支持,包括滚动。
请注意,颜色选择考虑了暗色终端主题。目前无法更改配色方案。
随机
$ a-puzzle-a-day random [-f/--file <FILE>] [-d/--date <DATE>]
这将显示当前日期的随机解决方案,或者根据选项 -d
或 --date
指定的日期。
生成
$ a-puzzle-a-day generate [-f/--file <FILE>]
这将生成所有解决方案并将它们写入文件 solutions.apad
,或根据选项 -f
或 --file
指定的文件(此文件与此仓库中找到的解决方案文件相同)。创建的文件使用自定义的二进制文件格式,名为 APAD。
解决方案是通过穷举法找到的,每个拼图块并行放置在每个方格中。已尽可能减少所需的工作量,但生成过程至少需要几秒钟和几十个线程。
注意:这通常是不必要的,因为解决方案已包含在二进制文件中。
安装
目前,此软件只能从源代码安装,使用Cargo。
$ cargo install --git https://github.com/mrbjarksen/a-puzzle-a-day
这将把可执行文件a-puzzle-a-day
放置到$HOME/.cargo/bin
(默认情况下),需要将其添加到$PATH
中。
依赖项
~9–18MB
~220K SLoC