Start from scratch with a new simulation #1

Merged
max merged 31 commits from restart into main 2025-04-25 15:03:09 +02:00
12 changed files with 1665 additions and 1559 deletions
Showing only changes of commit d46e2d8163 - Show all commits

View File

@ -459,6 +459,17 @@ impl Board {
.iter()
.all(|snake| self.coord_to_linear(snake.tail()) != *i)
})
.filter(|i| {
self.snakes
.iter()
.flat_map(|snake| {
let head = snake.head();
enum_iterator::all::<Direction>()
.map(move |direction| head.wrapping_apply(direction))
.filter(|tile| self.is_in_bounds(*tile))
})
.all(|action| *i != self.coord_to_linear(action))
})
.filter(|i| !self.food[*i])
.choose_multiple(&mut thread_rng(), needed_food);
for index in food_spots {