Lua – Algorithme appliquée

Introduction

Vocabulaire

« Mod » désigne un module qui ajoute des fonctionnalité et du contenu à un jeu/moteur de jeu « Minetest » désigne ici le moteur de jeu, c’est à dire un programme qui ne constitue pas un jeu en lui-même, mais simplement un support complet permettant la création de jeux, facilement. C’est cette même définition que vous trouverez sur le [Wiki](http://wiki.minetest.net/Getting_Started/fr#Quelques_choses_.C3.A0_savoir). « Jeu Minetest » désigne le jeu de base. C’est à dire **minetest**, avec quelques **mods** le rendant jouable. C’est ce qui vous est fournis par défaut avec minetest, quand vous l’installez depuis un gestionnaire de paquet ou depuis le site. « Langue de programmation » : Souvent désigné comme « Langage de programmation » qui est selon moi une mauvaise traduction de l’anglais, une langue de programmation est une langue dans lequel on peut écrire des algorithmes qui seront ensuite compris par l’ordinateur qui les appliquera.

À savoir

« Minetest », le moteur donc, est exclusivement (ou quasiment exclusivement) écrit en langue de programmation « C++ ». Les **mods** sont tous (ou quasiment tous) développés en langue de programmation « Lua ». C’est ce dernier qui va nous intéresser. Nous n’allons pas commencer par l’écriture de mods qui serait bien compliquée. Mais par l’écriture de micro-programme à l’aide du mod « Mesecons_luacontroller » inclus dans le pack de mods « [Mesecons](http://mesecons.net/) », qui ajoute un Microcontrolleur Lua. [*Télécharger le Mod Mesecons*](https://github.com/Jeija/minetest-mod-mesecons/archive/master.zip ) Le voilà : ![**Image de Microcontrolleur Lua, dans le jeu**](/uploads/default/original/1X/3635145b9b6e8d265a002f11f0709c53db273913.png)

Il a 4 port (=branchements) : A,B,C,D comme vous pouvez le voir sur l’image (pourvu que vous voyez l’image :stuck_out_tongue: ).
À ces branchement, nous pouvons connecter de la Mesecons – Qui nécessite le mod Mesecon du pack du même nom –, des Digilines contenues dan le mod Digiline ( Télécharger Digiline ).
La mesecon est une ressemblant à un signal électrique. Simplement, il n’a pas de courant ou de tension. Il ne vaut que 0 si il est éteint. Ou 1 si il est allumé.
Les Digilines ressemblent plus à une connexion USB ou tout autre connexion par laquelle on pourra communiquer de manière plus complète. Il y a des Canaux (Channel dans le jeu). Et des Messages. Un Message ne sera reçu que par les recepteurs connectés au Canal.
Ne vous en faites pas si vous n’avez pas compris l’histoire de Canaux et de Messages. Nous y reviendrons bien plus tard dans un prochain post ;-).

Voilà pour l’introduction. Je vous invite à commenter sur ce post afin que celui-ci soit réservé aux cours de cette suite…

4 Likes

#Les bases de la programmation
Avant de commencer à apprendre à programmer, il y a quelques choses à savoir et quelques termes à connaître.
Nous allons donc apprendre ensemble.

La Variable

Selon moi, la première chose à connaître avant toute chose, c’est ce qu’est une variable.
Une variable est un objet qui associe une valeur à un nom. Une variable a donc un nom et une valeur (et d’autres choses dont on n’aura pas besoin pour le moment).

Exemple :

Là, la variable a pour nom : « maVariable » et pour valeur : « 2 ».

La variable, comme peut changer de valeur, mais pas de nom.
Certaines variables cependant, ne peuvent pas changer de valeur. Nous les appelons des constantes.
Ainsi, si nous devions créer une variable pour π (3.14159265358979…), nous la placerions dans une constante.
Puisqu’elle n’est pas amenée à changer.

Bien, je pense que nous en avons fini avec les variables. Passons aux instructions

##Les Instructions

Un programme informatique ou un algorithme est constitué une suite d’instructions.
Une instruction est une étape, dans un programme informatique/dans un algorithme, qui dicte à l’ordinateur l’action nécessaire qu’il doit effectuer avant de passer à l’instruction suivante.


Je me suis beaucoup servi de Wikipédia pour formuler certaines phrases.
[[Ce Post est en cours d’écriture]]

1 Like