Elektrine lite

← Feed

@pranabekka@mastodon.social

2026-05-24 12:42 UTC

``` // ranged.gleam pub opaque type Ranged { Ranged(value: Int, min: Int, max: Int } pub fn new(value, min, max) -> { Ranged( value: int.clamp(value, min:, max:), min:, max:, ) } pub fn set(current: Ranged, to new: Int) -> Ranged { Ranged( value: int.clamp( new, current.min, current.max, ), min: current.min, max: current.max, ) } ``` 1 of 2 #gleam #gamedev #functionalprogramming edit: noo, my indentation :(

Replies (1)

  • @pranabekka@mastodon.social 2026-05-24 12:44

    ``` // somewhere in player.gleam import ranged let health = ranged.new(50, 0, 50) let mana = ranged.new(20, 0, 20) ``` I feel like this would be helpful? 2 of 2

    Open ##5187614