math helpers

all of these live under the Math namespace

Math.abs(-5) // 5
Math.min(3, 7) // 3
Math.max(3, 7) // 7
Math.clamp(15, 0, 10) // 10: restricts a value to a range
Math.floor(4.7) // 4
Math.ceil(4.2) // 5
Math.round(4.5) // 5
Math.randomInt(1, 6) // a random whole number from 1 to 6
Math.randomDecimal(0.0, 1.0) // a random decimal from 0.0 to 1.0
Math.sqrt(4) // 2
Math.sin(60) // ~0.866
Math.cos(60) // ~0.5

Math.clamp

var roundDelay = 5

// each round, shrink the delay but never let it go below 1 second
roundDelay = Math.max(1, roundDelay - 0.25)

or with Math.clamp if you also want an upper bound:

roundDelay = Math.clamp(roundDelay - 0.25, 1, 5) // never below 1, never above 5

doing your own random pick without Katton.pick

if you just need a random index into a list rather than a random element (to also know which index you picked):

val colors = ["red", "blue", "lime"]
val index = Math.randomInt(0, colors.size() - 1)
val chosen = colors[index]

...though for the common case of "just give me a random element," Katton.pick is simpler and does exactly this for you! :D