account when sending percepts, choosing an intention and sending an action back.

Performance-wise, much could be improved, however the robots are easily programmed using *Jason*, since the language naturally expresses how agents react to the environment and specify how they act to these percepts.

Extensions of the *Jason* syntax {#app:extensions}
================================

In this appendix I briefly describe the actions and percepts that can be used in the LEGO extension of *Jason*. The design of a *Jason*-project file `project.mas2j` for LEGO projects is also described.

Actions
-------

[lp[0.6]{}]{} **forward(Motors, Speed)** & Moves a list of motors forward at given speed.\
& **Motors:** List of motors.\
& **Speed:** List of speed, corresponding to the motor of the same index in the other list.\
\
\
**backward(Motors, Speed)** & Moves a list of motors backward at given speed.\
& **Motors:** List of motors.\
& **Speed:** List of speed, corresponding to the motor of the same index in the other list.\
\
\
**rotate(Motors, Speed)** & Rotates a list of motors backward a given angle.\
& **Motors:** List of motors.\
& **Speed:** List of angles, corresponding to the motor of the same index in the other list.\
\
\
**reverse(Motors)** & Reverse the direction 