Academy / Yeho Core 2026.1
Learn Yeho.
Make something real.
Give a value a name. Open a window. Paint a galaxy ball and make it jump.
Then learn functions, types, and the math that teaches a dot to fly.
1 · Create and understand variables
Give values names, choose their types, and change them.
Start here: a variable remembers one value. int is a whole number, float allows fractions, text holds words, and bool is true or false. Follow the comments and predict each printed line.
For this first console lesson, use the Windows Starter Pack's console project: replace its start.yh, save, and run RUN-CONSOLE.cmd. The full source download also includes the later window and Dolphin projects.
// A variable is a named place for a value.
// Read this as: make an integer called score, initially containing zero.
int score = 0
// float holds a fractional number. Our future ball's radius is half a metre.
float radius = 0.5
// text holds characters inside quotes. bool holds only true or false.
text name = "Galaxy ball"
bool onFloor = true
// Assignment changes a value: calculate the right side, then store it on the left.
// The old score is zero, so zero plus ten becomes the new score.
score = score + 10
// Text.From turns a number or boolean into printable text.
// The plus signs here join pieces of text. They do not add numbers.
Console.Log(name)
Console.Log("Score: " + Text.From(score))
Console.Log("Radius: " + Text.From(radius))
Console.Log("On floor: " + Text.From(onFloor))
// YOUR TURN: start score at 20. Predict the printed score before running again.
// Then change radius to 0.75 and onFloor to false. Each value has its own type.
Galaxy ball Score: 10 Radius: 0.5 On floor: true
Declaration versus assignment
int score = 0 creates a typed variable. score = score + 10 changes its value. Read the right side first.
Why types matter
A height can be fractional, a name is text, and a grounded flag has two possible states. Choosing a type makes those meanings explicit.
Change one value
Run the unchanged project first. Then change one named value and run again, so you can connect the result to the line you edited.
Your turn
Make one small change.
Start score at 20, radius at 0.75, and onFloor at false. Predict every line before running.
Galaxy ball, Score: 30, Radius: 0.75, and On floor: false.
A little help, if you need it
The original program prints score 10 and radius 0.5. The expected values above are after your edits.
Does = ask whether two values are equal?
No. It assigns a value. Use == when asking an equality question.
