Types of blocks
There are a total of nine block types in CB. Each of them is represented by their own color. Every block translates to code, which is then compiled and uploaded to the phone, just like on every Arduino based platform.
Elliptical blocks
Elliptical blocks represent variables. Whether we’re talking about integers, strings or other variable types (other than boolean), they can all be recognized by the same shape.
Also, larger blocks that have elliptical shape return either integer or float values. When ever you find circular “holes” inside some blocks, that is the place where variables can be inserted. It’s most commonly found in comparison or action blocks.
Triangular blocks
Boolean variables are represented by triangular blocks.
Both variables (true and false), as well as functions that return boolean values, have the same shape.

Building blocks
Everything else is basically a building block. Those are functions that have no return value (they return null). Both elliptical and triangular blocks first have to be placed inside of the building blocks in order to act as part of the program.
They have a specific “puzzle” shape and can be stacked inside each other.

Inserting blocks
Now, this is the main part.
The whole point of blocks-like IDE is connecting blocks and placing them one inside another.
It is all done by simple drag-and-drop action.
Here is an example of a program that will set the variable Var to 1 and then increase that variable while it is smaller than 10.
At the end of the program, Var will be 10.
This is just a simple example and block-building will be further explained in the following chapters.