#fireworks #rs-firework #firework-cli #rust-firework #firework-rust

app rsFirework

A terminal-based firework simulation program written in Rust

1 unstable release

Uses new Rust 2024

new 0.1.0 May 13, 2025

#583 in Command line utilities

MIT license

1MB
389 lines

rs-Firework

一个使用 Rust 语言编写的终端模拟烟花效果的程序。通过字符动画和鲜艳的色彩,在终端中创造出绚丽多彩的烟花效果,希望能给您带来一些乐趣!

English README

演示效果

烟花演示

上图展示了程序运行时的效果。

功能特点

  • 🎆 鲜艳多彩的烟花效果,每个烟花使用 2-3 种相近色调
  • 🎇 逼真的物理效果:烟花发射、爆炸、粒子飘散
  • 🌈 多种色彩组合,包括红色、绿色、蓝色、黄色、粉色和青色系列
  • 🔄 多阶段爆炸效果,模拟真实烟花的连续爆炸
  • 🚀 平滑的动画效果,流畅的视觉体验

项目实现

项目主要使用了以下技术:

  • crossterm 库用于终端控制和色彩渲染
  • rand 库用于随机生成烟花的各种属性

烟花模拟基于简单的物理系统,使用字符和颜色来表示烟花粒子。通过计算粒子的速度、位置和亮度变化,模拟了真实烟花的视觉效果。

项目结构

项目按功能模块化拆分:

  • types.rs: 定义了基本的数据结构和类型
  • particle.rs: 实现了粒子的行为逻辑
  • firework.rs: 实现了烟花的生成、爆炸和渲染
  • app.rs: 应用程序主逻辑,处理用户输入和动画循环
  • main.rs: 程序入口

如何运行

运行此程序非常简单:

  1. 确保已安装 Rust 和 Cargo
  2. 克隆本仓库
  3. 在项目目录下执行:
cargo run
  1. 使用深色背景的终端运行效果更好

操作说明

  • q 键退出程序
  • Ctrl+C 强制退出程序

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

Dependencies

~3–11MB
~150K SLoC