#tree #bonsai #terminal #generator #grow #live #cbonsai

bin+lib rbonsai

终端 bonsai 树生成器

2 个版本

新版本 0.1.2 2024 年 8 月 17 日
0.1.1 2024 年 8 月 17 日
0.1.0 2024 年 8 月 17 日

3#grow

Download history 344/week @ 2024-08-14

344 每月下载量

GPL-3.0 或更高版本

31KB
731 代码行

rbonsai

这是将 cbonsai 移植到 Rust 的版本。查看原始版本 此处

rbonsai 是一个 bonsai 树生成器,使用 Rust 和 crossterm 编写。它创建一个使用您的终端颜色方案的彩色 ascii bonsai 树。它还可以通过 CLI 参数进行配置 - 查看 使用方法。它可以打印静态树到您的终端,或者您可以实时观看其生长。还有屏幕保护程序模式可以反复生长树!

安装

rbonsai 可在 crates.io 上找到。要使用 Cargo 安装

cargo install rbonsai --locked

使用

Usage: rbonsai [OPTIONS]

Options:
  -l, --live                     Whether the tree generation should pause after each step to allow the user to watch it grow
  -t, --time <TIME>              In live mode, wait time in seconds between each step of growth [default: 0.03]
  -i, --infinite                 Infinite mode: keep growing trees
  -w, --wait <WAIT>              In infinite mode, the wait time in seconds between each tree [default: 4]
  -S, --screensaver              Screensaver mode: equivalent to -li and quit on any keypress
  -m, --message <MESSAGE>        Attach message next to tree
  -b, --base <BASE>              Ascii art plant base to use [default: 1]
  -M, --multiplier <MULTIPLIER>  The branch multiplier; higher -> less branches [default: 3]
  -L, --life <LIFE>              The starting life of the tree higher -> bigger tree [default: 32]
  -p, --print                    The starting life of the tree higher -> bigger tree
  -s, --seed <SEED>              random number seed for reproducable trees
  -v, --verbose                  Whether there should be debug prints
  -h, --help                     Print help
  -V, --version                  Print version

添加到 .bashrc

每次打开终端时都添加一个新 bonsai 树,请将以下内容添加到您的 ~/.bashrc 文件的末尾

rbonsai -p

缺失的功能

rbonsai 目前尚不支持从文件加载或保存,也不支持提供您自己的叶子字符。

为什么编写这个?

我在我的机器上安装 cbonsai 时遇到了一些问题。我认为这是一个很酷的算法,所以写了这个来了解更多。此外,我想用 Crossterm 做些事情来了解更多它是如何工作的。我还有一些新功能计划,一旦完成原始版本的移植,我就会添加。

致谢

此项目是将 cbonsai 移植到 Rust 的版本。如果您需要一些缺失的功能或想使用原始版本,请查看。

依赖

~2.2–8MB
~58K SLoC