Simple complete conflict avoidance.

This commit is contained in:
hal8174 2024-01-16 02:31:20 +01:00
parent 993fb0730c
commit 2e9c699600
3 changed files with 83 additions and 18 deletions

View file

@ -1,3 +1,5 @@
use std::io;
use clap::{Parser, ValueEnum};
use factorio_blueprint::belt_finding::{conflict_avoidance::ConflictAvoidance, problems, Problem};
@ -5,6 +7,7 @@ use factorio_blueprint::belt_finding::{conflict_avoidance::ConflictAvoidance, pr
enum Mode {
Solve,
ConflictAvoidance,
ConflictStep,
}
#[derive(ValueEnum, Clone)]
@ -51,5 +54,17 @@ fn main() {
println!("{}", c)
}
}
Mode::ConflictStep => {
println!("{}", p);
p.find_path();
println!("{}", p);
let mut c = ConflictAvoidance::new(p);
println!("{}", c);
while c.remove_conflict() {
println!("{}", c);
let mut s = String::new();
let _ = io::stdin().read_line(&mut s);
}
}
}
}