Lighting now uses pathing to determine where it can go, but _distance_ to determin strength. Looks way better.

This commit is contained in:
Zed A. Shaw 2024-12-26 04:39:07 -05:00
parent 31620adf7a
commit f46b5f15ef
8 changed files with 72 additions and 63 deletions

View file

@ -101,6 +101,27 @@ TEST_CASE("thash matrix iterators", "[matrix]") {
}
}
TEST_CASE("thrash box distance iterators", "[matrix:distance]") {
size_t width = Random::uniform<size_t>(10, 21);
size_t height = Random::uniform<size_t>(10, 25);
Matrix result(height, matrix::Row(width));
matrix::assign(result, 0);
size_t size = Random::uniform<int>(4, 10);
Point target{width/2, height/2};
matrix::in_box box{result, target.x, target.y, size};
while(box.next()) {
result[box.y][box.x] = box.distance();
}
matrix::dump(format("MAP {}x{} @ {},{}; BOX {}x{}; size: {}",
matrix::width(result), matrix::height(result),
target.x, target.y, box.right - box.left, box.bottom - box.top, size),
result, target.x, target.y);
}
TEST_CASE("thrash box iterators", "[matrix]") {
for(int count = 0; count < 20; count++) {
size_t width = Random::uniform<size_t>(1, 25);
@ -250,7 +271,7 @@ TEST_CASE("prototype circle algorithm", "[matrix:circle]") {
}
}
matrix::dump(format("RESULT AFTER CIRCLE radius {}", radius), result, start.x, start.y);
// matrix::dump(format("RESULT AFTER CIRCLE radius {}", radius), result, start.x, start.y);
}
}
}