=======Les opérateurs=======

=====Les préfixes : ils sont placés avant une variable ou une commande=====

^préfixe^indication^
|#|Commande MLC|
|%|Variable|
|.|Nombre entier|
|$|Chaîne de caractères (variable)|
|@|Liste|
|[|Image bitmap|
|Λ|Sprite|

=====Les symboles logiques : ils sont utilisés pour déterminer une condition (If)=====

^symbole^indication^
|=|Egal à...|
|!|Différent de....|
|<|Plus petit que...|
|>|Plus grand que...|
|&|Porte et|

=====Les opérateurs mathématiques:utilisés pour effectuer des opérations sur des nombres,variables, listes=====

^opérateur^indication^
|+| Addition (seule l'addition est possible sur les chaînes de caractères)|
|-| Soustraction|
|*| Multiplication|
|/| Division|
|l| Module|

=======Les commandes=======

=====Les commandes graphiques=====

^instruction^indications^
|#CLRS|Efface l’écran|
|#TEXT <x> <y> <texte> <couleur>|Affiche du texte|
|#LINE <x> <y> <x> <y> <couleur>|Affiche une ligne|
|#PIXL <x> <y> <couleur>|Affiche un pixel|
|#PIXT <x> <y> <variable >|Stocke dans <variable > la couleur aux coordonnées (x,y|
|#DRAW|Rafraîchis l’écran|
|#SHFT <x> <y> <type>|Utilisée pour scroller.Déplace l’écran de x pixels suivant x et de y pixels suivant y.Le type indique la manière dont est rempli le vide laissé : 0~.3 : remplie de la couleur indiquée, -1 : l’image est rebouclée sur elle-même|
|#STOP|Stocke une image|
|#RCLP|Restitue une image|
|#RECT <x1> <y1> <x2> <y2> <couleur de la bordure> <couleur du remplissage>|Dessine un rectangle rempli ou pas (.5 pour aucun remplissage)|
|#DBMP <[nom de la bitmap> <x> <y>|Affiche une image bitmap aux coordonnées (x,y)|
|#DISP <Λnom du sprite>|Affiche un sprite aux coordonnées enregistrées dans son répertoire de stockage|


=====Les commandes du clavier=====
^commande^indications^
|#GKEY <code touche> <variable>|Assigne 1 à <variable> si la touche est pressée, 0 si elle ne l’est pas.|
|#WKEY <variable>|Attend qu’une touche soit pressée. Celle-ci est enregistrée dans <variable>.|
|#PAUS|Attend un signal venant de la touche EXE ou ENTREE.|



=====Les commandes fonctionnelles=====

^commande^indications^
|#FNCT <nom de la fonction>|Déclare une fonction.|
|#FRUN <nom de la fonction>|Appelle une fonction.|
|#FEND|Fin de la fonction. Revient à la fonction précédente si elle a été appelée par #FRUN. Termine le programme s’il s’agit de la fonction #FNCT MAIN.|
|#FGOB|Retourne au début de la fonction actuelle.|


=====Les commandes conditionnelles=====
^commande^indication^
|#IIFF <quelque chose> <condition> <quelque chose>|Si la condition est vérifiée, la ligne suivante est exécutée, sinon, elle est sautée (vous pouvez utiliser & pour ajouter des conditions)|


=====Les commandes des listes de données=====
^commande^indications^
|#DATA|Commence la section de données qui contient les bitmaps|
|#DEND|Marque la fin de cette section|
|#BITM <[nom> <taille>|Définit une image bitmap de taille 8 (8*8) ou de taille 6 (16*16), les lignes de code suivantes contiennent les données de l’image|


=====Commandes diverses=====

^commande^Indications^
|#SPRT <nom du sprite> <bitmap>|Crée un sprite et y assigne une image bitmap. Il existe un autre moyen, détaillé plus loin, d’assigner une image à un sprite|
|#CLSN <nom du sprite 1> <nom du sprite 2> <variable>|(légers bugs sur G100) Détecte si deux sprites se touchent et met le résultat dans <variable> (0 : ne se touchent pas ; 1 : se touchent)|
|#ARRY <@nom de la liste> <taille>|Crée une liste d’éléments|
|#RNDM <bas> <haut> <variable>|Détermine un nombre aléatoire entre <bas> et <haut> et l’assigne à <variable>|
|#HALT|Arrête l’exécution du programme|
|#WAIT <délai>|Stoppe le programme pendant le délai indiqué|


=====Commandes d’entrée/sortie=====

A l’exécution d’un programme, une liste est automatiquement créée. Elle se trouve dans « ~nom du programme ». Elle permet de sauvegarder des nombres entiers qui seront conservés après l’arrêt de la calculatrice. Cette liste est différente de celles créées par la fonction #ARRY.

^commande^indications^
|#WRTE <position du fichier> <nom de variable>|Sauvegarde le contenu de la variable dans la liste, à la position indiquée|
|#READ <position du fichier> <nom de variable>|Lis les données de la liste, à la position indiquée, et les stocke dans la variable|






=====Les couleurs=====
  * blanc : 0
  * gris clair : 1
  * gris foncé : 2
  * noir : 3
  * inversion de couleur : 4



=====Les sprites=====

Les sprites en MLC ont actuellement sept propriétés :
^code^indication^
|X|Contient la position horizontale du sprite|
|Y|Contient la position verticale du sprite|
|DX|Contient la décimale de la position horizontale du sprite. X=X+DX/100|
|DY|Contient la décimale de la position verticale du sprite. Y=Y+DY/100|
|VX|Contient la vitesse du sprite suivant X. A chaque #DISP <Λnom du sprite>, DX=DX+VX|
|VY|Contient la vitesse du sprite suivant Y. A chaque #DISP <Λnom du sprite>, DY=DY+VY|
|BMP|Contient le nom de l’image bitmap contenue dans le sprite| 