Tutorial

Basic Control

Use instructions to move vertically or horizontally a virtual cursor. The initial position of it is at (500,500).
The cursor can have two states up or down, to draw just put down the cursor and start moving; go back up to move without living a mark.

Instructions blocks need to open with start and to close with end. An instruction must end with a semi-colon ';'.

Cursor can only move forward by using the following command : forward followed by an expression which can be a variable, a value or the result of a function. A'Tuin also allow the cursor to turn counterclockwise (ie, the opposit direction of clockwise rotation) by a given angle in degrees with : turn followed by an expression.

You can change at any time the color of the mark by using : color and a RGBa value (ex: 255, 0, 0, 255 is solid red).

Functions & Variables

All variables must begin with a lowercase letter, same case for functions.
Registered variables in order to effectively use the functions or mathematical operators (arithmetic: +, -, *, /, %, int(exp), boolean: and, or, xor, not).

You can also registered functions to make more complex designs.
To do so write your function as followed : def /*NAME*/ (var1, var2, ...) { instructions }.
You can put as much variables as you want (there can be none) and open the instructions bloc of the function with parenthesis.
To call a function or it's result, use call /*NAME*/ (val1, val2, ...) by putting as much values there is variables.

The function can return a value if you want to, but asking a value without a return statement will fail.

Here's an example for practice
Conditions & Loop Control

A'Tuin can support the conditionnal structure in the same way as the programming language Python.
A complete conditionnal structure look like : if (conditions) { instructions } elif (conditions) { instructions } else { instructions }
You don't need to write a complete conditionnal structure, bear just in mind that the principal structure require only if (conditions) { instructions }.
You can use the conditionnal structure in function and loop.

There is two type of loop, for loop and while loop.
Both are written in the same way : for ( expression ) { instructions } and while ( conditions ) { instructions }.

Examples

See concrete examples.

Advanced

Compile sources

You should use a complete jdk (JavaFX included).

  1. Install e(fx)clipse, which provides JavaFX tooling for the Eclipse IDE.
  2. Create a new Project > JavaFX > JavaFX Project. You may try to run the default application to try JavaFX. Delete the default 'application' package.
  3. Add the org/ source folder to the src/ folder of the eclipse project.
  4. Add the samples/ source folder to the eclipse project folder (so next to src/ and bin/)
  5. Right clic > Refresh
  6. Launch org.ui.Main