The seeded random numbers lived in the ECS runtime, so a tool or a program of test blocks got "unknown function rng_range". They are runtime/native/rng.ludic now, spliced on Random.* or a bare rng_*/seed call nobody defines, and imported by core.ludic for a game. A bare value_*/json_* call nothing in the program defines splices the value tree the way Value.* does. Reseed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
12 lines
346 B
Text
12 lines
346 B
Text
# testing_random.ludic — a program made only of test blocks has the runtime's namespaces too:
|
|
# Random.range through a helper. Its runner prints:
|
|
# == 1 passed, 0 failed ==
|
|
program TestingRandom {
|
|
function roll() -> int {
|
|
return Random.range(1, 6)
|
|
}
|
|
test "a roll is a die's" {
|
|
let r = roll()
|
|
expect(r >= 1 and r <= 6)
|
|
}
|
|
}
|