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.

Start here · From variables to flight1 / 61

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.

From the complete projectEdit these lines in the downloaded project
start.yh
// 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.
Download all nine first-step projects with commented source ↓
Console result
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.

What to look for

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.