1/5

A blueprint alone is inert — it holds shape, but no behavior. The Hoarder teaches you the rite that wakes it: an impl block.

impl Player {
    fn new(name: &str) -> Player {
        Player { name: String::from(name), hp: 100 }
    }
}

new takes no self — it doesn't act on an existing Player, it makes one. Call it Player::new("Ferrisia"), with the type name, not a value.