This commit is contained in:
Spectre 2024-10-09 14:51:41 +02:00
parent ac03021b28
commit 211db6da03
2 changed files with 18 additions and 21 deletions

View file

@ -5,22 +5,26 @@ pub mod weights;
use model::*;
use weights::{ColorWeights, Config};
use std::fs;
use std::fs::{self, OpenOptions};
use std::io::prelude::*;
use rayon::prelude::*;
fn main() {
let config = parse_config("config.toml").unwrap();
let mut res: Vec<(ColorWeights, Vec<f64>)> = Vec::new();
for color in gen_possible_color_weights().into_iter() {
let val = run_sim(100, &config, &color);
println!("{:?} {:?}", color, val);
res.push((color, val));
}
let mut file = OpenOptions::new()
.create(true)
.append(true)
.open(format!("data/{}", color))
.unwrap();
println!("{}", res);
for res in run_sim(10000, &config, &color).iter() {
writeln!(file, "{res}");
}
}
// for i in 0..10 {
// let res = lifeforce_after_upgrades(i, 1000000, &config);

View file

@ -5,12 +5,7 @@ use rand::thread_rng;
use serde::Deserialize;
#[derive(Debug, Deserialize)]
pub struct UpgradeProbabilities {
pub t1_t2: f64,
pub t2_t3: f64,
pub t3_t4: f64,
}
use std::fmt::Display;
#[derive(Debug, Deserialize)]
pub struct LifeforceValue {
@ -43,14 +38,6 @@ pub struct MapMods {
pub pack_size: f64,
}
#[derive(Debug, Deserialize)]
pub struct Weights {
pub upgrade: UpgradeProbabilities,
pub value: LifeforceValue,
pub lifeforce: SeedLifeforce,
pub map_mods: MapMods,
}
#[derive(Debug, Deserialize)]
pub struct SeedUpgradeChances {
pub t1: f64,
@ -105,3 +92,9 @@ impl ColorWeights {
}
}
}
impl Display for ColorWeights {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "Y{}_B{}_R{}", self.yellow, self.blue, self.red)
}
}