Version bump dependencies

This commit is contained in:
hal8174 2025-02-06 22:04:28 +01:00
parent abf2cac093
commit 66f40b4aa4
8 changed files with 205 additions and 203 deletions

View file

@ -4,7 +4,10 @@ use factorio_core::{
visualize::{Color, Symbol, Visualization, Visualize, image_grid},
};
use factorio_pathfinding::belt_finding::{self, conflict_avoidance::ConflictAvoidance};
use rand::{Rng, seq::SliceRandom};
use rand::{
Rng,
seq::{IndexedRandom, SliceRandom},
};
use serde::{Deserialize, Serialize};
use std::{sync::atomic::AtomicU32, time::Instant};
@ -382,24 +385,24 @@ impl Layout<'_> {
let b = &problem.blocks[blocks.len()];
for _ in 0..1000 {
let dir = rng.r#gen::<Direction>();
let dir = rng.random::<Direction>();
let pos = match dir {
Direction::Up => Position::new(
rng.gen_range(0..=(problem.size.x - b.size.x)),
rng.gen_range(0..=(problem.size.y - b.size.y)),
rng.random_range(0..=(problem.size.x - b.size.x)),
rng.random_range(0..=(problem.size.y - b.size.y)),
),
Direction::Right => Position::new(
rng.gen_range((b.size.y - 1)..problem.size.x),
rng.gen_range(0..=(problem.size.y - b.size.x)),
rng.random_range((b.size.y - 1)..problem.size.x),
rng.random_range(0..=(problem.size.y - b.size.x)),
),
Direction::Down => Position::new(
rng.gen_range((b.size.x - 1)..problem.size.x),
rng.gen_range((b.size.y - 1)..problem.size.y),
rng.random_range((b.size.x - 1)..problem.size.x),
rng.random_range((b.size.y - 1)..problem.size.y),
),
Direction::Left => Position::new(
rng.gen_range(0..=(problem.size.x - b.size.y)),
rng.gen_range((b.size.x - 1)..problem.size.y),
rng.random_range(0..=(problem.size.x - b.size.y)),
rng.random_range((b.size.x - 1)..problem.size.y),
),
};
@ -460,7 +463,7 @@ impl Layout<'_> {
loop {
let p = r.choose_weighted(rng, |i| i.1).unwrap();
if p.0(&mut s, rng) && rng.gen_bool(0.5) {
if p.0(&mut s, rng) && rng.random_bool(0.5) {
break;
}
}
@ -470,28 +473,28 @@ impl Layout<'_> {
}
fn mutate_replace<R: Rng + ?Sized>(layout: &mut Layout, rng: &mut R) -> bool {
let i = rng.gen_range(0..layout.blocks.len());
let i = rng.random_range(0..layout.blocks.len());
let dir = rng.r#gen::<Direction>();
let dir = rng.random::<Direction>();
let b = &layout.problem.blocks[i];
let pos = match dir {
Direction::Up => Position::new(
rng.gen_range(0..=(layout.problem.size.x - b.size.x)),
rng.gen_range(0..=(layout.problem.size.y - b.size.y)),
rng.random_range(0..=(layout.problem.size.x - b.size.x)),
rng.random_range(0..=(layout.problem.size.y - b.size.y)),
),
Direction::Right => Position::new(
rng.gen_range((b.size.y - 1)..layout.problem.size.x),
rng.gen_range(0..=(layout.problem.size.y - b.size.x)),
rng.random_range((b.size.y - 1)..layout.problem.size.x),
rng.random_range(0..=(layout.problem.size.y - b.size.x)),
),
Direction::Down => Position::new(
rng.gen_range((b.size.x - 1)..layout.problem.size.x),
rng.gen_range((b.size.y - 1)..layout.problem.size.y),
rng.random_range((b.size.x - 1)..layout.problem.size.x),
rng.random_range((b.size.y - 1)..layout.problem.size.y),
),
Direction::Left => Position::new(
rng.gen_range(0..=(layout.problem.size.x - b.size.y)),
rng.gen_range((b.size.x - 1)..layout.problem.size.y),
rng.random_range(0..=(layout.problem.size.x - b.size.y)),
rng.random_range((b.size.x - 1)..layout.problem.size.y),
),
};
@ -512,7 +515,7 @@ impl Layout<'_> {
}
fn mutate_flip<R: Rng + ?Sized>(layout: &mut Layout, rng: &mut R) -> bool {
let i = rng.gen_range(0..layout.blocks.len());
let i = rng.random_range(0..layout.blocks.len());
let b = &mut layout.blocks[i];
let block = &layout.problem.blocks[i];
@ -530,8 +533,8 @@ impl Layout<'_> {
}
fn mutate_jiggle<R: Rng + ?Sized>(layout: &mut Layout, rng: &mut R) -> bool {
let i = rng.gen_range(0..layout.blocks.len());
let dir = rng.r#gen::<Direction>();
let i = rng.random_range(0..layout.blocks.len());
let dir = rng.random::<Direction>();
let step = [(1, 10), (2, 5), (3, 5)]
.choose_weighted(rng, |i| i.1)
.unwrap()