AAhhh, après 2 bon mois de vacances, j'ai bien envie de me pencher sur ce que devient Minecraft. J'ai vite compris que les commandes ~= programmation :). Ici, je vais vous montrer les bases de la programmation et son équivalent dans Minecraft (le code que je vais utiliser sera le Basic qui semble pour moi le programme le plus proche des commandes de Minecraft)
LE PROGRAMME
D'abord définissons un programme. Un programme a pour but de marcher, simplement. Mais ! un programme est aussi une suite d'actions bien définies. On inverse 2 actions PAF on a un mauvais résultat !
Exemple :
Ici, je fais 2 actions :
Code (cpp):
Téleporter-le-joueur-en(1,2,3);
Téleporter-le-joueur-en(5,6,7);
Le joueur se téléporte en 1, 2, 3 puis en 5, 6, 7. Si on inverse ces 2 actions :
Code (cpp):
Téleporter-le-joueur-en(5,6,7);
Téleporter-le-joueur-en(1,2,3);
Le résultat sera différent : Il sera téléporté en 5, 6, 7 puis en 1, 2, 3.
LES VALEURS
Minecraft, depuis l'ajout des scoreboard, permet de manipuler les valeurs.
Pour pouvoir les manipuler, il faut créer une "liste" -> le scoreboard.
On fait :
Code (cpp):
/scoreboard objectives add <nom de votre liste> dummy
Ensuite, pour pouvoir créer une valeur, il faut écrire :
Code (cpp):
/scoreboard players set <le nom de la valeur> <le nom du scoreboard créé> <la valeur initiale>
VOUS NE POUVEZ SPÉCIFIER QUE DES NOMBRES ENTIERS POSITIFS OU NÉGATIFS !
LES VALEURS DANS MINECRAFT SONT TOUJOURS ENTIERES. EN CAS D’OPÉRATION QUI INCLUS UN RÉSULTAT DÉCIMAL, MINECRAFT L'ARRONDIRA .
Et son équivalent en B :
Code (cpp):
var <le nom de la valeur> = <la valeur initiale>
Astuce : Pour pouvoir bien utiliser des valeurs, pensez à créer plusieurs listes.
Les opérateurs
Dans Minecraft c'est un peu plus compliqué de modifier une valeur.
Par comparaison, si vous voulez créer une valeur égale à 4, ajouter 2, enlever 8, multiplier par 2 et diviser par 5. Sur Minecraft c'est un peu plus long.
Ce code en B :
Code (cpp):
var valeur=4;
valeur = valeur + 2;
valeur = valeur - 8;
valeur = valeur * 2;
valeur = valeur / 5;
valeur vaudra -0.6
Dans Minecraft, il est possible d'ajouter ou d'enlever à une valeur un nombre (+ et - / add et remove). Mais pour les divisions et les multiplications, il faudra utiliser une commande de la 1.8 : /scoreboard players operation en utilisant les valeurs d'une autre liste.
Sur Minecraft, les actions seront :
Code (cpp):
/scoreboard objectives add Liste dummy
/scoreboard objectives add Aide dummy
/scoreboard players set aideMult Aide 2
/scoreboard players set aideDiv Aide 5
/scoreboard players set valeur Liste 4
/scoreboard players add valeur Liste 2
/scoreboard players remove valeur Liste 8
/scoreboard players operation valeur Liste *= aideMult Aide
/scoreboard players operation valeur Liste /= aideDiv Aide
valeur dans Liste vaudra -1 (voir au dessus)
La partie que vous venez de lire est pour les valeurs que vous choisissez.
Si ce sont des valeurs qui ont des valeurs changeantes, vous devrez écrire :
Code (cpp):
/scoreboard players operation valeur Liste += ou -= <la valeur à ajouter ou à soustraire>
LES CONDITIONS
Maintenant, on va parler des conditions. Juste de "if" car "else" est l'inverse de "if".
Code (cpp):
if (valeur1 == valeur2) {
--Actions--
}
La commande à utiliser pour la condition sera :
Code (cpp):
Pour {valeur1} > {valeur2} /scoreboard players test <valeur> <liste> 1
Pour {valeur1} => {valeur2} /scoreboard players test <valeur> <liste> 0
Pour {valeur1} < {valeur2} /scoreboard players test <valeur> <liste> -2147483648 -1
Pour {valeur1} =< {valeur2} /scoreboard players test <valeur> <liste> -2147483648 0
Pour {valeur1} == {valeur2} /scoreboard players test <valeur> <liste> 0 0
Donc pour pouvoir faire une condition, il faudra donc créer une valeur "temporaire" qui sera égale à la première valeur, soustraire la première valeur à la seconde comme suit puis mettre sa condition.
Code (cpp):
/scoreboard players operation {temp} = {valeur1}
/scoreboard players operation {valeur1} -= {valeur2}
--La condition--
/scoreboard players operation {valeur1} = {temp}
Et voili, voilou
Ce topic est une ébauche et n'est pas terminé. Si vous avez des conseils/questions/problèmes/avis, répondez simplement à ce topic.