{"id":"recipe--things","name":"Describe your own thing","owner":"yeho","package":"recipes","kind":"recipe","signature":"start.yh","description":"Group values that belong to one character.","context":"A name, a life count, and a score all belong to a player. A thing lets us describe that bundle once and give it a useful name. The fields inside Player are the pieces of data it carries. The dot in pip.lives means the lives field of this particular Player value. Two players can have different values.","parameters":[],"returns":"","members":[],"tags":["cpu","recipe"],"updated":"2026-09-09","source":{"repository":"demonhunterlabs","path":"app/lib/yeho-walkthrough.ts"},"status":"complete-program","notes":["Create a second player named Fern with five lives. Print both players after changing only Pip."],"examples":[{"id":"program","title":"Describe your own thing","description":"Group values that belong to one character.","code":"thing Player\n{\n    text name\n    int lives\n}\n\nPlayer pip = Player()\npip.name = \"Pip\"\npip.lives = 3\npip.lives = pip.lives - 1\nConsole.Log(Text.Format(\"{0} has {1} lives\", pip.name, pip.lives))","manifest":"manifestVersion = \"2\"\npackage = \"api.example.recipe__things\"\nversion = \"0.1.0\"\nlanguageEdition = \"yeho-core-2026.1\"\n\n[app]\nkind = \"headless\"\n","tags":["cpu"],"run":"cpu-oracle","expected":"Pip has 2 lives","verification":"type checked","sha256":"50c7d366ca4daec4e4382b212d8bf598cfb46fb8ad59202879fa7458330eba63","checked":"2026-09-09","diagnostic":"","observedOutput":null,"checkedBackend":null}],"searchTerms":[],"url":"https://demonhunterlabs.com/academy/api?item=recipe--things","json":"https://demonhunterlabs.com/reference/items/recipe--things.json","markdown":"https://demonhunterlabs.com/reference/text/recipe--things.md"}
