first
This commit is contained in:
46
tmp/system.rs
Normal file
46
tmp/system.rs
Normal file
@ -0,0 +1,46 @@
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::fs::File;
|
||||
use std::io::{BufReader, Write};
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
||||
mod model;
|
||||
use model::RelationalAutonomousAI;
|
||||
|
||||
fn load_config(path: &str) -> std::io::Result<RelationalAutonomousAI> {
|
||||
let file = File::open(path)?;
|
||||
let reader = BufReader::new(file);
|
||||
let config: RelationalAutonomousAI = serde_json::from_reader(reader)?;
|
||||
Ok(config)
|
||||
}
|
||||
|
||||
fn save_config(config: &RelationalAutonomousAI, path: &str) -> std::io::Result<()> {
|
||||
let mut file = File::create(path)?;
|
||||
let json = serde_json::to_string_pretty(config)?;
|
||||
file.write_all(json.as_bytes())?;
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn should_send_message(config: &RelationalAutonomousAI) -> bool {
|
||||
// 簡易な送信条件: relationshipが高く、daily_luckが0.8以上
|
||||
config.core_components.relationship.parameters.contains(&"trust".to_string())
|
||||
&& config.core_components.environment.daily_luck.range[1] >= 0.8
|
||||
}
|
||||
|
||||
fn main() -> std::io::Result<()> {
|
||||
let path = "config.json";
|
||||
|
||||
let mut config = load_config(path)?;
|
||||
|
||||
if should_send_message(&config) {
|
||||
println!("💌 メッセージを送信できます: {:?}", config.core_components.personality.r#type);
|
||||
|
||||
// ステート変化の例: メッセージ送信後に記録用トランジションを追加
|
||||
config.core_components.state_transition.transitions.push("message_sent".to_string());
|
||||
|
||||
save_config(&config, path)?;
|
||||
} else {
|
||||
println!("😶 まだ送信条件に達していません。");
|
||||
}
|
||||
|
||||
Ok(())
|
||||
}
|
Reference in New Issue
Block a user