Mainly destined for kids and youths, this is the second H.urna game dedicated to learning programming without having to write any line of code. In this challenge we use block instructions to guide a robot laser in order to produce lines, patterns and shapes in the same way computers draw vectorial images on the screen.

What will be learnt:

A reminder of fundamental concepts as seen in the previous game (Globo In Mazes):
- Programming using blocks to move forward and backward.
- Getting orientation and making turns.
- Using loops to avoid unnecessary repetition of code.
- Using conditionals instructions to take actions depending on the environment.

- Using variables to store and reuse information.
- Using specific angles to make a turn.
- Performing mathematical calculations within the code.
- Using new kind of loops.
- Using nested loops.

Optional concepts to play with:
- Conditional compositions.
- Loop breakers.
- Random numbers.
- ...

Note : the last levels are difficult enough to be enjoyed by professional developers ; )

We just acquired a new robot laser !
Let us master it to produce wonderful pictures.

Drag block instructions on the right panel to tell the robot laser what to do to produce the shadow figure proposed at each level. A turtle represents the laser position and direction (this is a traditional tribute to Turtle Graphics and the Logo language). Remember: a program is just a series of instructions telling a computer what to do.

Below are the description, the programming concepts covered as well as a solution for each level.

Levels 1 - 3: Warming Ups

Level 1 - From simple instructions to square

Warming up : drag blocks on the right panel to tell the robot how to make a square and click on 'Run'.

Level 2 - Use a 'For' loop to avoid unnecessary repetitions!

The 'For' loop executes some actions a specified number of times.

Level 3 - The moonwalk !

The same square as before, but the turtle (the robot laser) refuses to move forward.

Levels 4 - 7: Handling distances and angles

Level 4 - Handling the distance - 4 Squares

Manage the robot distance steps to make those four nested squares (100, 75, ...).
Note: You may duplicate blocks and group of blocks using right click.

Level 5 - Handling the angle - Octagon

Stop being stuck with right angle shapes; let's make an Octagon.

Level 6 - Polygons everywhere!

Build those polygons using only 16 blocks (Recall: Do not hesitate to use duplicate on right click).

Level 7 - Polygon disguises in a circle

Drawing 360 micro lines will look like a perfect circle.
Do not hesitate to change the speed slider to get a faster animation.

Levels 8 - 11: Using variables to store and reuse information

Until now you have programmed a series of instructions that get executed no matter what, you have learned how to use conditions, to use pre-defined loops (while and for), to handle distances and angles... You have seen a lot. However, now, you will use the memory of the computer! It is a big step up, but do not worry, it is going to be smooth.

Level 8 - The spiral

To create a spiral, we will increase the distance the turtle walks on each step. In order to do so efficiently, we create a variable (a memory) to optimize our efforts.

Level 9 - Remember level 04? Using a variable will avoid repetition.

Two nested loops will be needed for this figure (length from 25 to 100). Do not be afraid; it is still as simple as before. We were doing four times the same thing to build a square; we will only make those things four times to get four squares :).

Level 10 - Crisis! We lack blocks!

Be careful, you have a limited amount of blocks to use ! We need to use a variable : no more possible cheat (length from 10 to 80). The solution is almost the same as for the previous level.

Level 11 - From triangle to a nonperfect circle

Draw those 13 polygons by using a variable to control the loops (Two nested loops will be needed).

Level 12 - Laser on (Pen down) / off (Pen up)!

You may want to stop using the laser while moving from one point to another.