Rust情绪生成库sadness-generator的使用:一个用于生成悲伤情绪和模拟忧郁场景的Rust插件库

Rust情绪生成库sadness-generator的使用:一个用于生成悲伤情绪和模拟忧郁场景的Rust插件库

安装

在项目目录中运行以下Cargo命令:

cargo add sadness-generator

或者在Cargo.toml中添加以下行:

sadness-generator = "0.6.0"

元数据

  • 版本: 0.6.0
  • 许可证: MIT OR Apache-2.0
  • 大小: 6.08 KiB
  • 所有者: embark-studios
  • 分类: 模拟(Simulation)

示例使用

这是一个使用sadness-generator库生成悲伤情绪的完整示例:

use sadness_generator::{generate_sadness, SadnessLevel};

fn main() {
    // 生成轻度悲伤情绪
    let mild_sadness = generate_sadness(SadnessLevel::Mild);
    println!("轻度悲伤: {}", mild_sadness.description);
    
    // 生成中度悲伤情绪
    let moderate_sadness = generate_sadness(SadnessLevel::Moderate);
    println!("中度悲伤: {}", moderate_sadness.description);
    
    // 生成重度悲伤情绪
    let severe_sadness = generate_sadness(SadnessLevel::Severe);
    println!("重度悲伤: {}", severe_sadness.description);
    
    // 生成忧郁场景
    let melancholy_scene = sadness_generator::generate_melancholy_scene();
    println!("忧郁场景: {}", melancholy_scene);
}

完整示例demo

以下是一个完整的示例程序,展示了如何使用sadness-generator库生成不同级别的悲伤情绪和忧郁场景:

// 引入sadness_generator库的相关功能
use sadness_generator::{generate_sadness, SadnessLevel, generate_melancholy_scene};

fn main() {
    println!("=== 悲伤情绪生成器示例 ===");
    
    // 生成并打印所有级别的悲伤情绪
    generate_and_print_sadness();
    
    // 生成并打印忧郁场景
    generate_and_print_scenes();
}

/// 生成并打印所有级别的悲伤情绪
fn generate_and_print_sadness() {
    println!("\n--- 悲伤情绪 ---");
    
    // 遍历所有悲伤级别
    for level in &[SadnessLevel::Mild, SadnessLevel::Moderate, SadnessLevel::Severe] {
        let sadness = generate_sadness(*level);
        println!("[{}级悲伤] {}", level, sadness.description);
    }
}

/// 生成并打印多个忧郁场景
fn generate_and_print_scenes() {
    println!("\n--- 忧郁场景 ---");
    
    // 生成3个忧郁场景
    for i in 1..=3 {
        let scene = generate_melancholy_scene();
        println!("场景 {}: {}", i, scene);
    }
}

这个库是由Embark Studios开发的,主要用于模拟和生成各种程度的悲伤情绪以及忧郁场景,适用于游戏开发、心理学模拟等场景。


1 回复

Rust情绪生成库sadness-generator使用指南

sadness-generator是一个用于生成悲伤情绪和模拟忧郁场景的Rust库,可以帮助开发者在应用程序中创建情感化的内容或测试情感相关的功能。

安装

在Cargo.toml中添加依赖:

[dependencies]
sadness-generator = "0.2.0"

基本用法

1. 生成悲伤文本

use sadness_generator::text::SadTextGenerator;

fn main() {
    // 创建文本生成器实例
    let generator = SadTextGenerator::new();
    // 生成悲伤句子并打印
    println!("{}", generator.generate_sad_sentence());
    // 示例输出: "雨滴轻轻敲打着窗户,就像我心中无声的哭泣"
}

2. 生成忧郁场景描述

use sadness_generator::scene::MelancholyScene;

fn main() {
    // 创建默认忧郁场景
    let scene = MelancholyScene::default();
    // 生成场景描述并打印
    println!("{}", scene.generate());
    // 示例输出: "黄昏时分,空荡的公园长椅上飘落着几片枯叶,远处传来模糊的笑声"
}

高级功能

1. 自定义悲伤级别

use sadness_generator::text::SadTextGenerator;

fn main() {
    // 创建文本生成器并设置悲伤级别为8(范围1-10)
    let generator = SadTextGenerator::new()
        .with_sadness_level(8);
    
    // 生成更悲伤的句子
    println!("{}", generator.generate_sad_sentence());
    // 更高悲伤级别会生成更强烈的表达
}

2. 生成悲伤诗歌

use sadness_generator::poetry::SadPoetryGenerator;

fn main() {
    // 创建诗歌生成器并生成俳句
    let poetry = SadPoetryGenerator::new().generate_haiku();
    println!("{}", poetry);
    /*
    示例输出:
    孤灯照残影
    落叶飘零无人问
    夜长心更寒
    */
}

3. 悲伤情绪分析

use sadness_generator::analysis::SentimentAnalyzer;

fn main() {
    // 创建情绪分析器
    let analyzer = SentimentAnalyzer::new();
    let text = "今天阳光明媚,但我却感到无比孤独";
    // 分析文本的悲伤程度
    let score = analyzer.analyze_sadness(text);
    
    println!("悲伤分数: {:.2}", score); // 示例输出: 7.82
}

完整示例代码

use sadness_generator::{text::SadTextGenerator, scene::MelancholyScene, poetry::SadPoetryGenerator, analysis::SentimentAnalyzer};

fn main() {
    // 1. 基本文本生成示例
    let basic_generator = SadTextGenerator::new();
    println!("基本悲伤文本: {}", basic_generator.generate_sad_sentence());
    
    // 2. 场景生成示例
    let scene = MelancholyScene::default();
    println!("\n忧郁场景: {}", scene.generate());
    
    // 3. 自定义悲伤级别示例
    let custom_generator = SadTextGenerator::new()
        .with_sadness_level(9);
    println!("\n高悲伤级别文本: {}", custom_generator.generate_sad_sentence());
    
    // 4. 诗歌生成示例
    let poetry = SadPoetryGenerator::new().generate_haiku();
    println!("\n悲伤俳句:\n{}", poetry);
    
    // 5. 情绪分析示例
    let analyzer = SentimentAnalyzer::new();
    let test_texts = [
        "今天阳光明媚,但我却感到无比孤独",
        "独自一人走在雨中,回想着那些逝去的日子",
        "这是个快乐的日子"
    ];
    
    println!("\n情绪分析结果:");
    for text in test_texts {
        let score = analyzer.analyze_sadness(text);
        println!("文本: '{}' - 悲伤分数: {:.2}", text, score);
    }
    
    // 6. 游戏NPC对话示例
    struct NPC {
        name: String,
        mood: i32, // 1-10, 越高越悲伤
    }

    impl NPC {
        fn speak(&self) -> String {
            let generator = SadTextGenerator::new()
                .with_sadness_level(self.mood);
            format!("{}说: {}", self.name, generator.generate_sad_sentence())
        }
    }

    let npc1 = NPC { name: "忧郁的艾琳".to_string(), mood: 9 };
    let npc2 = NPC { name: "悲伤的约翰".to_string(), mood: 6 };
    
    println!("\nNPC对话:");
    println!("{}", npc1.speak());
    println!("{}", npc2.speak());
}

sadness-generator库提供了丰富的API来生成各种悲伤情绪相关的内容,开发者可以根据需要调整参数或组合不同模块来创建更复杂的情感表达。

回到顶部