---
id: random-chance
name: Random.chance
category: random
kind: namespace-method
tokens: Random.chance
sig: Random.chance(percent) -> bool
tip: Return true with the given percent probability.
order: 1
ns: Random
member: chance
---
Returns true roughly percent times out of a hundred, and false otherwise — a convenient shorthand for "this happens X% of the time". Use it to gate random events such as spawning an enemy on a given frame, dropping loot, or triggering a rare animation. Passing 0 never fires and 100 always fires. Like the rest of the Random namespace it is driven by the seeded generator, so seed it with Random.seed for reproducible behavior.
Parameters:
- `percent` — the probability of returning `true`, from `0` to `100`
```ludic
program SpawnWave {
property Position { column: int = 0, row: int = 0 }
model Enemy { Position }
const GRID_WIDTH: int = 20
const TILE_SIZE: int = 16
handler SeedRandom phase Start {
Random.seed(value: 3)
}
handler MaybeSpawn phase Update {
if Random.chance(percent: 10) {
spawn Enemy {
Position { column: Random.range(low: 0, high: GRID_WIDTH - 1), row: 0 }
}
}
}
handler DrawWorld phase Render {
Screen.clear(Color.MidnightBlue)
for (Position) in query [Position, {Enemy}] {
Screen.fill_rectangle(
x: Position.column * TILE_SIZE,
y: Position.row * TILE_SIZE,
width: TILE_SIZE,
height: TILE_SIZE,
color: Color.Crimson)
}
Screen.show()
}
}
```